POST的RESTful资源命名
给定此命名约定: 对于POST(insert),资源的url应遵循以下路径/逻辑:POST的RESTful资源命名,rest,asp.net-web-api,soa,restful-architecture,Rest,Asp.net Web Api,Soa,Restful Architecture,给定此命名约定: 对于POST(insert),资源的url应遵循以下路径/逻辑: http://www.example.com/products/X123 { "color":"something" } 以下路径在概念上是错误的吗?为什么它是正确的/错误的 http://www.example.com/products { "id":"X123" "color":"something" } ID是从外部生成的 同样对于PUT,是否可以
http://www.example.com/products/X123
{
"color":"something"
}
以下路径在概念上是错误的吗?为什么它是正确的/错误的
http://www.example.com/products
{
"id":"X123"
"color":"something"
}
ID是从外部生成的
同样对于PUT,是否可以应用相同的逻辑?(id自然不能更改,只能用作参考)
谢谢在我看来,您的场景最适合PUT方法,如果我知道的话,我总是更愿意在url中包含id,这对其他人来说是最清晰的解决方案 第二部分关于在身体中包含id,有一个很好的答案:
在这个答案中,我唯一要改变的是在每个PUT请求中都包含id,如果您知道,为什么要隐藏它。我认为您的场景最适合PUT方法,如果我只知道id,我总是希望在url中包含id-这对其他人来说是最清楚的解决方案 第二部分关于在身体中包含id,有一个很好的答案: 在这个答案中,我唯一想改变的是在每个PUT请求中都包含id,如果您知道,为什么要隐藏它。对于POST(通常用于在集合中创建新项),请使用以下命令:
http://www.example.com/products
{
"color":"something"
}
如果您有客户机生成id的需求,则
http://www.example.com/products
{
"id": "abc123"
"color":"something"
}
编辑:
换言之,应该是:
http://www.example.com/products/abc123
{
"color":"something else"
}
对于POST(通常用于在集合中创建新项),请使用以下命令:
http://www.example.com/products
{
"color":"something"
}
如果您有客户机生成id的需求,则
http://www.example.com/products
{
"id": "abc123"
"color":"something"
}
编辑:
换言之,应该是:
http://www.example.com/products/abc123
{
"color":"something else"
}
你能更具体一点吗:客户端决定所创建资源的ID是正确的吗?你能更具体一点吗:客户端决定所创建资源的ID是正确的吗?PUT呢?您认为在url或请求正文中添加id是正确的吗?PUT呢?您认为在url或请求正文中添加id正确吗?