给出这个命名约定:
http://www.restapitutorial.com/lessons/restfulresourcenaming.html
对于 POST(插入(,资源的 URL 应遵循以下路径/逻辑:
http://www.example.com/products/X123
{
"color":"something"
}
以下路径在概念上是错误的吗?为什么正确/错误?
http://www.example.com/products
{
"id":"X123"
"color":"something"
}
ID 在外部生成
同样对于 PUT 可以应用相同的逻辑吗?(ID自然不能更改,而只能用作参考(
谢谢
对于 POST(通常用于在集合中创建新项目(,请使用以下命令:
http://www.example.com/products
{
"color":"something"
}
如果您有客户端生成 ID 的要求,则
http://www.example.com/products
{
"id": "abc123"
"color":"something"
}
编辑:
对于 PUT,它应该是:
http://www.example.com/products/abc123
{
"color":"something else"
}
在我看来,您的方案最适合 PUT 方法,如果我只知道它,我总是更愿意在 url 中包含 id - 这将是其他人最清晰的解决方案。
关于在正文中包含id的第二部分,有一个很好的答案:https://stackoverflow.com/a/28108844/3301697我在这个答案中唯一要改变的是在每个 PUT 请求中包含 id,如果您知道它,为什么要隐藏它。