我正在使用 Spring Boot 进行练习来检查版本更改。 我创建了一个简单的 API 并实现了 spring swagger 来进行 API 测试。 缺少的是不会出现在 swagger 界面中用于输入值的可变路径参数。 根据文档,只需要定义RestController类和Maven依赖并测试即可,但事实并非如此。
@RestController
@RequestMapping("/customer")
public class CustomerRestController {
@Autowired
CustomerRepository customerRepository;
@GetMapping()
public List<Customer> customers() {
return customerRepository.findAll();
}
@GetMapping("/{id}")
public Customer get(@PathVariable Long id) {
return customerRepository.findById(id).orElse(new Customer());
}
}
我尝试使用 2.1.0、2.2.0 和 2.3.0。同样的结果。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version>
</dependency>
项目结构比较复杂,但编译完整个 paymentchain-parent 项目后,可以运行独立的客户项目,访问 url 即可看到结果 http://localhost:8081/swagger.html
我找到了解决方案。 将这个 ("id") 添加到 PathVariable 注释中,将输入显示到 ui
@GetMapping("/{id}")
public Customer get(@PathVariable("id") Long id) {
return customerRepository.findById(id).orElse(new Customer());
}
谢谢