对命名约定复数与单数的更多帮助

some more help for naming conventions plural vs singular

那里有答案,但我的问题是不同的,因为当我有产品的详细信息时或当我必须 return 产品的详细信息加上它时,我试图找出 uri顾客。我需要一个标准解决方案来处理 4 api 次调用。我需要针对这种特殊情况的标准命名约定,请从以下内容中修复它们。

复数(带s)

GET /products - 列出所有产品

GET /products/1 - 仅产品详细信息(无客户)

单数

GET /product/1 - 产品及其客户的详细信息

GET /product/1/customers 只有产品 1 的客户

从上面我试图找到这两个的解决方案。

GET /products/1 - 仅产品详细信息(无客户)

GET /product/1 - 产品及其客户的详细信息

不,不要使用不同 URLs 来区分有客户和没有客户的产品。使用 content negotioation.

要获得具有嵌入式客户的产品,请使用一个Accept header:

GET /products/1
Accept: application/vnd.com.example.rest.customer.long+json

要在没有客户的情况下获得产品,请使用不同的 Accept header。

GET /products/1
Accept: application/vnd.com.example.rest.customer.short+json

但始终使用相同的URL,因为您正在请求相同的资源。要请求此 URL 的 不同表示法 ,请使用内容协商。