我现在写我的项目的API层,并正在与试图找出下列情形良好的设计方法挣扎:的RESTful API设计的最佳实践
- 所有用户都拥有的书籍 列表
- 每个清单都可以通过ID访问
- 用户可以添加,并在会删除书籍
目前,我不知道它的最好的办法是:
1) PUT - /api/list/{listID}/{bookID} - Add book to specified list
DELETE - /api/list/{listID}/{bookID} - Remove book from specified list
2) PUT - /api/list/{listID} - Send XML data to server that contains bookID and action
<list_payload>
<action>{delete|add}</action>
<bookID>{bookID}</bookID>
</list_payload>
任何洞察力将不胜感激。
是的。重要的是所有非幂等动作都需要通过POST进行; PUT必须是幂等的(即,如果浏览器默默地重复它,它不应该是一件坏事)。 –
因此,在#2 PUT的情况下,您是否会通过“编辑操作”(即添加或删除)作为URL上的参数? – jfrey
您可以在这里了解您的REST API的一些最佳实践saipraveenblog.wordpress.com/2014/09/29/rest-api-best-practices/ –