使用 Swagger/Springfox 和 Spring 引导将查询参数解组为对象

Unmarshalling query params into object using Swagger/Springfox and Spring Boot

我的 REST 服务中有一个搜索端点。我正在使用 Spring Boot,所以我有一个 @RestController 设置,其方法是 returns 基于搜索查询的搜索结果。这是方法定义:

@ApiOperation(value = "Get global search results")
@RequestMapping(method = GET, produces = {"application/json"})
public SearchResults get(SearchQuery query) {
    ...
}

我希望 SwaggerUI 在 ui 中将 SearchQuery 的字段显示为单独的查询参数。它没有;它只显示一个通用的 "query" 参数。如果我用 @RequestBody 注释查询,用户可以向正文添加一个 json 有效负载,但这是一个 GET 请求 - 我希望用户只使用查询参数。

有什么想法吗?

@ModelAttribute 注释 SearchQuery 并且它应该按预期工作。

对于 Srpring 2.6.3 和 springdoc 1.6.6,在 SearchQuery

之前使用 @ParameterObject 注释