Restful 查询URL设计

在后台开发中,我为用户分组提供一个Restful接口,涉及到这两个查询:

1.返回所有的分组(需要分页)
2.返回所有的分组(不需要分页,每一项需要多返回一些数据)

就如我当前希望查询的是item,针对第一种我的URL是/item?page=1&size=10,那么第二种我又该怎么设计呢?(不仅仅是分不分页的问题,还涉及到这两者虽然都是查询item,但是需要返回的内容是不同的)

阅读 3.6k
2 个回答

开发接口就是为了提供给他人使用,所以接口设计一定要友好。

在Restful接口设计中,通常请求资源接口使用资源的名词复数, 如:
https://api.github.com/users/tinyking/repos
此restful接口为github提供的查询资源库的。

所以建议接口可设计为
xxx/items
xxx/items?page=1&size=10

另外问题中提到,两个接口返回的内容不同,基于接口的友好性,建议再设计一个接口用于特殊查询。

当然,如果是使用的spring data 的话, 可以考虑使用projection特性。具体可参考spring data的参考文档

后台可以分类吧,比如这个你设计的链接含有page和size的数据,根据前端传回的数据里是否含有page和size分类,返回不同的内容

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进