Spring Boot休息设计用于搜索API



我正在设计具有各种属性的Product搜索的SpringBoot RESTful API(搜索可以是一个或多个(。很少有标准大于一定数量,很少有小于一定的标准。在@RequestParam中,我们可以采用字符串或类似值,但不能采用任何条件。

我的问题是,在GET搜索API调用

中获取这些标准的用户数据的最佳方法是什么
@GetMapping("/search")
public ResponseEntity<List<OrderView>> searchOrders(...)
{
...
// call to service implementation
...
}

嗯... https://spring.io/guides/tutorials/bookmarks/对带有Spring的休息服务有很好的描述。它还具有有关恢复原则的不同级别的描述(您可以使用HAL的Spring-boot非常简单又聪明(。

进行搜索时,您没有资源(Level1(URL,但您想获得它...因此(IMHO(可以进行简单的查询参数调用。例如,在查看Amazon.com并在那里键入一些搜索参数时,您会看到它们正在使用一种简单的方法:

https://www.amazon.de/s/ref=nb_sb_noss?....&url=search-alias%3Daps&field-keywords=criteria1+criteria2+criteria3

他们只是将关键字添加为串联字符串。

Apigee还有一个有趣的博客条目:https://apigee.com/about/blog/technology/restful-api-design-tips-search

在本文中春季启动:如何设计有效的REST API?,我解释了如何开发REST API进行搜索。例如,您在本文中找到了Postman的代码和屏幕截图。

作为一个端点的优化,我可以得到几个结果:资源是分类,过滤和分页的。

您不处理很多代码(查看查询参数和控制器中的所有控件(:库 specification-arg-resolver noter

我建议现有工具之一是您需要搜索/过滤。我为此使用SpringFilter。配置非常容易,非常强大,还有一个好处是,有现有的JS库。

搜索的另一个好库似乎是rsql-builder。

相关内容

  • 没有找到相关文章

最新更新