REST リソースには単数形と複数形のどちらの命名規則を使用すべきですか? 質問する

REST リソースには単数形と複数形のどちらの命名規則を使用すべきですか? 質問する

一部のRESTfulサービスでは、更新/取得/削除と作成に異なるリソースURIを使用します。例えば、

  • 作成 - POST メソッド (複数形) で/resourcesを使用する (一部の場所では/resource (単数形) を使用する)
  • 更新 - PUT メソッドで/resource/123を使用する
  • Get - GET メソッドで/resource/123を使用する

この URI 命名規則について少し混乱しています。リソースの作成には複数形と単数形のどちらを使用すればよいでしょうか。それを決定する際の基準は何でしょうか。

ベストアンサー1

私にとっては、コードに直接マップできる(自動化しやすい)スキーマの方が優れています。主な理由は、両端にコードが存在するためです。

GET  /orders          <---> orders 
POST /orders          <---> orders.push(data)
GET  /orders/1        <---> orders[1]
PUT  /orders/1        <---> orders[1] = data
GET  /orders/1/lines  <---> orders[1].lines
POST /orders/1/lines  <---> orders[1].lines.push(data) 

おすすめ記事