我使用这个库生成文档:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.0</version>
</dependency>
我有这个控制器:
@RestController
public class TestController {
@GetMapping("/test{hz}")
public String test(@PathVariable(value = "hz", required = false) String hz) {
return "test";
}
}
但我得到这个文件:
为什么required = false
不起作用?
我试过这个:
@RestController
public class TestController {
@GetMapping("/test{hz}")
public String test(
@Parameter(description = "foo", required = false)
@PathVariable(value = "hz", required = false) String hz) {
return "test";
}
}
它也不起作用
编辑:(@Helen 评论的答案)-我当然知道:
@RestController
public class TestController {
@GetMapping(value = {"/test", "/test{hz}"})
public String test(
@Parameter(description = "foo", required = false)
@PathVariable(value = "hz", required = false) String hz) {
return "test";
}
}
我试过这个:
@PathVariable(value = "hz", required = false) Optional<String> hz
它使文档变得更糟。所以我没有添加这段代码。看起来{"/test", "/test{hz}"}
像这样: