我有一个资源客户:
{
"active": true,
"addresses": [...],
"company_name": "My Products",
"customer_account": "MMM474",
"customer_id": 6163,
"emails": [...],
"phones": [...],
"website": "" }
和相关资源地址。
访问地址的网址更加RESTful:
http://domain.tlc/api/v1/customeraddresses/[id]/
或
http://domain.tlc/api/v1/customers/[id]/addresses/
([id]
是特定客户的ID,customer_id
。)
答案 0 :(得分:3)
明确的选项2.它将允许您进一步扩展API并使其保持一致:
HTTP://domain.tlc/api/v1/customers/ [ID] /联系人/
答案 1 :(得分:0)
要访问特定客户的地址,请使用选项2。
答案 2 :(得分:0)
如果[id]
在两种情况下都是特定客户的ID,并且两个网址都返回该客户的地址列表,我会说选择#2。
http://domain.tlc/api/v1/customeraddresses/[id]/
看起来像是一个特定的自定义资源http://domain.tlc/api/v1/customers/[id]/addresses/
看起来像是特定客户的所有地址列表。也就是说,他们都是“RESTful”,因为他们都识别资源。
答案 3 :(得分:0)
您可以将URL视为子空间的空间分区。 比如说,您有“客户”作为根空间,下面包含用[id]标识的客户。然后,在每个客户= [id]下,有“地址”。
因此,它将引导您进入第二个选择:
http://domain.tlc/api/v1/customers/[id]/addresses/