我正在开发一个Spring REST Web服务。我只是阅读了所有HTTP方法的用法。
我有一个Web服务方法,可以执行所有CRUD操作。在这种情况下哪种HTTP方法最好?
答案 0 :(得分:2)
这不是REST应该工作的方式。您应该使用多个请求来执行多项操作。除非你真的需要类似交易的行为,否则只需要在多个请求中执行,它确实不应该是一个问题。
也就是说,您可以使用您想要进行的更改来修补根资源(如果您真的想要这样做。例如:
PATCH /data_objects/
[ { "action":"add",
"data":<data_for_new_object>
},
{ "action":"update",
"data":{
"id":666,
"updates":[
{ "key":"age","value":50 },
{ "key":"color","value":"blue"}
]
}
},
{ "action":"delete",
"data":{
"id":69
}
}
]
这只是表示您在请求中用于修改根资源的所有更改的一种可能方式(可能不是那么好)。
答案 1 :(得分:1)
不要导出单个方法来执行所有CRUD操作。
为每个CRUD声明4个新方法。每种方法都调用原始的Web服务方法。
分离可以带来额外的利润,例如缓存GET响应并且不会缓存POST / PUT / DELETE。