如何解决Swagger UI的生成页面中的路径参数不显示可用值
我正在使用yaml文件自动为我们的Web服务生成Swagger报告。基本上可以归结为:
resourcePackages:
- com.employee.api.service
openAPI:
info:
version: 0.1
title: Employee Service
description: Shows services for employees
servers:
- url: http://test.internal.com:5000/employees
description: Test Server
这将根据service
包中每个java类的端点生成一个页面。单独的服务使用swagger-ui-react读取生成的openapi.json并为其呈现网页。我们正在使用Swagger版本3。
在每个端点中,我们都有一个路径参数parameter
,它不会被生成的报告中的值所代替。 Java代码本身是:
@Path("/{parameter: api|internal}/jobs")
@Produces(MediaType.APPLICATION_JSON)
public class EmployeeJobsResource{
private EmployeeJobsManager employeeJobsManager;
public EmployeeJobsResource(EmployeeJobsManager employeeJobsManager) {
this.employeeJobsManager = employeeJobsManager;
}
@GET
@Timed
public Response getAllAvailablePositions(@QueryParam("departmentName") String departmentName,@QueryParam("country") String country,@QueryParam("ids") String ids) {
...
}
在Swagger输出中,我们可以看到查询参数是在每种方法下定义的,甚至还有这些参数的下拉列表和文本框。但是,设置了api
或internal
的path参数在UI中没有任何定义。实际上,它表示为:
{parameter}/jobs
在openapi.yaml文件或Java代码本身中,是否可以用api
自动替换参数?我知道我可以在yaml文件中设置单个路径,但是使用此设置,我大约有40个端点。以后会使维护成为一个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。