给出这个命名惯例:
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自然不得更改,但仅用作ref)
谢谢
答案 0 :(得分:2)
对于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"
}
答案 1 :(得分:0)
在我看来,你的场景最适合PUT方法,我总是喜欢在url中包含id,如果我只知道它 - 那将是其他人最清楚的解决方案。
关于在身体中包含id的第二部分,有很好的答案:https://stackoverflow.com/a/28108844/3301697 我在这个答案中唯一要改变的是在每个PUT请求中包含id,如果你知道,为什么要隐藏它。