我得到以下一种对象的简单Restful设计:
GET /users
GET /users/123
POST /users/new
POST /users/1/edit (or PUT)
POST /users/1/delete (or DELETE)
...
遵循从一种对象类型到另一种对象的关系:
GET /user/123/company
GET /user/123/roles
POST /user/123/roles/new
…
混合DTO混合其中的多个对象呢?例如:
//Listing all users with their companies and primary role
GET /usersWithCompaniesAndPrimaryRoles
//List all companies with users and roles count in each company
GET /companiesWithUsersAndRolesCount
在这种情况下,我的API链接看起来不太干净或变得不整洁?我想知道如何以一种Restful的方式来构造这些复合DTO的CRUD?请给我建议,或将我链接到可以学习该方法的地方?
非常感谢你。
Restful设计应具有此类API路径。相反,您应该使用GET /users
URI,并提供查询参数。例如:
GET /users?with_companies=yes
在Restful中,您不应将URI视为API命令。尝试将URI视为实体,可以获取,插入,更改和删除。没有其他“命令”的空间。
这就是为什么例如不应该有POST /users/new
API路径的原因。
相反,只需发布到/users
。
另一种可能的RESTfull方法是使用POST创建“查询资源”对象,并返回“查询资源ID号”,该对象稍后将在单独的GET请求中使用。这样一来,您将创建保存的查询,这对于重新查询也同样有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句