在购物车应用程序中,假设我有一个端点,用于/product/
的端点,可以购买的产品和/cartitem/
购物车中的商品。 GET /product/2 response
{
"sku": "12345"
"name":"mars bar"
}
GET / cartitem / 56
的示例{
"quantity": 4
"sku": "12345"
"name":"mars bar"
}
当添加一个cartitem时,我会对/ cartitem /进行POST,但不是必须放弃整个身体,我想能够发布对产品的引用
POST /cartitem
BODY:
{
"quantity": "4"
"product":"/product/2"
}
而不是必须:
POST /cartitem/
{
"quantity": 4
"sku": "12345"
"name":"mars bar"
}
注意,我从不想拥有:
GET
{
"quantity": "4"
"product":"/product/2"
}
原因是因为有多种方法可以添加cartitem,有时你会有一个产品,有时你想要的。我希望响应不必引用产品URI,但我希望允许POST引用它以使某些客户端更容易。
可以吗?
由于
答案 0 :(得分:1)
您应该使用产品的主键(ID)而不是链接。最终结果将是相同的,但它更清洁,更有意义。你只需要为此实现逻辑。