我正在开发一个帐户有角色的游戏网站。我正在使用路线:
account/{action} //execute `action` on the current account
character/{name}/{action} //execute `action` on specific character
但我需要delete
和undelete
(它们是软删除的)字符,虽然使用表单是delete
的正确方法,但它变得不必要了(是吗? )当我只能使用character/{name}/delete
的GET链接时,会膨胀。此外,没有取消删除/恢复的动词。
解决这个问题的正确方法是什么(或者两者都不是完美的方式)?
答案 0 :(得分:1)
如果您的网址包含名词而不是动词,则可以使用RESTful版本,例如:
character/{name}/achievements or
character/{name}/travels
要解决您的有效/无效帐户问题,您可以执行以下操作:
GET/PUT account/activity
答案 1 :(得分:0)
已经不安宁了,你根据路线决定行动,而不是基于动词。所以说,创建一个未删除的新路由(即字符/ {name} / undelete),你已经不是REST,所以另一条路线应该无关紧要。如果你正在寻找RESTful,那么路由应该保持帐号/ {字符},并且动词确定动作(即GET,PUT,POST DELETE到同一路线)。既然你实际上没有删除,我会学习POST(或者PUT),即更新实体以删除(或不活动),或者将其更新为取消删除(再次激活)