那里有答案,但我的问题有所不同,因为当我对产品进行详细介绍或者当我要在产品上添加详细信息时,我会尝试查找uri #39; s客户。我需要一个标准的解决方案来跟随4个api调用。我需要针对这种特殊情况的标准命名约定,请从以下内容中修复它们。
多个(有s)
http://example.com/newprogram/@/some-parms
- 列出所有产品
GET /products
- 仅限产品详情(无客户)
奇异
GET /products/1
- 产品详情及其客户
GET /product/1
仅限产品1的客户
从上面我试图为这两者找到解决方案。
GET /product/1/customers
- 仅限产品详情(无客户)
GET /products/1
- 产品详情及其客户
答案 0 :(得分:1)
不,不要使用不同的网址来区分有和没有客户的产品。使用content negotioation。
要获得嵌入式客户的产品,请使用一个Accept
标题:
GET /products/1
Accept: application/vnd.com.example.rest.customer.long+json
要获得没有客户的产品,请使用其他Accept
标题。
GET /products/1
Accept: application/vnd.com.example.rest.customer.short+json
但是,由于您要重新评估相同的资源,因此始终使用相同的网址。要请求此网址的不同表示,请使用内容协商。