【发布时间】:2020-11-16 09:40:19
【问题描述】:
我最近已升级到最新版本的SpringFox(3.0.0)。
标记为required = false 的PathVariable 显示为必填。
下面是我的控制器方法代码
@GetMapping(path = { "/persons", "/persons/{id} })
public List<Person> getPerson(@PathVariable(required = false) String id) {
}
我试过添加@ApiParam,默认是false。但是,在大摇大摆的情况下,它仍然显示为强制性的。
以前SpringFox(2.9.0) 工作正常,大摇大摆地被标记为可选
我们将不胜感激。
谢谢
【问题讨论】:
-
在 OpenAPI 中,路径参数为always required。要拥有带有可选参数参数的路径,您需要定义 2 个路径 - 带有和不带有该参数。
-
@Helen 我写了 'GetMapping(path = {"/descriptive","/{periodName}/descriptive"})' 但仍然有同样的问题!
-
@OmidAshouri,就我而言,它适用于您的代码结构。我的控制器中有:
@GetMapping(path = {"/{mailId}", ""})ResponseEntity<?> getMails(@PathVariable(required = false) String mailId);和 SpringFox 3.0.1。然后 SwaggerUI 显示 2 个端点,一个带有 PathVariable,一个没有。
标签: java swagger-ui openapi springfox