首页 > 解决方案 > 如何在spring mvc中使用具有复杂查询数据类型的swagger来获取“get”请求?

问题描述

我使用 swagger 为 spring mvc 项目生成文档。
对于发布请求,没关系。

@ApiOperation("post")
@PostMapping("post")
public Map<String, String> post(@RequestBody Foo foo) {
    return Collections.emptyMap();
}

在此处输入图像描述

现在想改一下HTTP获取的方法,因为是查询请求。但是以下代码是错误的,因为 GET 方法没有请求正文。

@ApiOperation("get")
@GetMapping("get")
public Map<String, String> get(@RequestBody Foo foo) {
    return Collections.emptyMap();
}

所以我需要将其更改为

@ApiOperation("get")
@GetMapping("get")
public Map<String, String> get(@RequestParam Foo foo) {
    return Collections.emptyMap();
}

然而,swagger 只会将 foo 显示为字符串,从而丢失日期结构。
在此处输入图像描述

那我现在该怎么办?

标签: springswaggerswagger-ui

解决方案


推荐阅读