【发布时间】:2015-04-25 09:01:39
【问题描述】:
寻找一些建议来帮助我设计一个宁静的服务。
- 获取所有产品:当客户尝试获取所有产品
/products时会发生什么。我应该退回所有产品还是前 50 个? - 如果服务会返回前50或前100,那么我应该在哪里写分页逻辑?我应该用同样的
getAllProducts()方法写吗? - 我计划同时拥有
sort和search功能。这两个人会去哪里?
这是我的假设:
@RequestMapping("/products")
public String getAllProducts(@QueryParam(value="page") int page, @QueryParam(value="sort") String orderBy) {
@RequestMapping("/search/products")
public String findProducts(@QueryParam(value="q") String searchCriteria) {
【问题讨论】:
-
投票关闭,因为它是基于 imo 的意见;无论如何
/search/是一个动词,不适合真正宁静的服务。 -
@ᴳᵁᴵᴰᴼ 了解您的担忧。你有更清洁的方法来解决这个问题吗?
-
投票结束,因为它完全基于意见。也就是说,我的意见是更聪明地工作,而不是更努力地工作。您是否考虑过以 json 格式返回所有产品并使用像 DataTables 这样的 jQuery 工具来处理分页、排序、搜索等。您将在后端节省大量不必要的编码(重复工作)和可以快速启动并运行。除非你有成千上万的产品,否则我会让插件为你处理它。
标签: java spring rest restful-architecture