代码之家  ›  专栏  ›  技术社区  ›  Ragnar

REST API-命名端点的逻辑方法

  •  0
  • Ragnar  · 技术社区  · 8 年前

    我想遵循最佳实践来实现REST API。有一个资源我想公开,我可以想两种方法做为一个端点。

    我想给用户一个机会,接受所有的付款,为某个活动。

    我可以揭露 /campaigns/{id}/payment 它返回一个分页的付款列表,其中包含每个付款的所有数据(名称、地址、日期…)。在哪里? /campaign/{id} 依次返回活动的所有数据(名称、说明…、数组 paymentId 一条接一条的路线)。

    或者我可以揭露 /payments/campaigns/{campaignsId} .

    最好的方法是什么?为什么?

    2 回复  |  直到 8 年前
        1
  •  1
  •   anothernode David Joel Lukombo    8 年前

    我会用 /campaigns/{id}/payments 因为它用一个 GET 最清楚,最符合惯例。

    GET /camapaigns/{id}/payments
    

    读起来很像“给我所有的竞选费用” id = {id} ". 所以这遵循了最小惊讶的原则。而且,客户会得到所需的信息。

    有一个很好的 API design guide 对于来自微软的restfulapi,如果您想了解更多关于它的信息。

        2
  •  1
  •   cassiomolin    8 年前

    假设REST关心URI的拼写是 误解 .

    但是,我鼓励您在uri中为API采用一致的命名约定。是一个 共同方法 对引用集合的URI使用复数名词,并组织URI以表示层次结构。

    所以,对于你在问题中描述的情况,你可以使用 /campaigns/{id}/payments 为了确定你的资源。它标识特定活动的付款集合。