public class Load { public static void main(String[] args) { String url = "http://106.15.73.20:9010/v3/api-docs"; //文档地址 SwaggerParser parser = new SwaggerParser(); SwaggerParseResult result = parser.read(url); //解析文档 if (result.getMessages().isEmpty()) { Swagger swagger = result.getSwagger(); //获取Swagger对象 //解析swagger对象并获取节点值 swagger.getPaths().get("/api/glossary/delete/{gSid}").getPost().getOperationId(); //获取operationId swagger.getTags().get(0).getDescription(); //获取第一个tag的description } else { System.out.println(result.getMessages()); } } }错误在哪?请修正
时间: 2024-04-27 10:25:30 浏览: 152
C#中static void Main(string[] args) 参数示例详解
在使用 Swagger Parser 解析文档时,需要传递一个 `io.swagger.models.Swagger` 类型的泛型参数,您需要将下面的代码:
```
SwaggerParseResult result = parser.read(url);
```
修改为:
```
SwaggerParseResult<Swagger> result = parser.readWithInfo(url);
```
这样就可以正确地获取 `Swagger` 对象并解析其节点值了。下面是修正后的代码:
```
public class Load {
public static void main(String[] args) {
String url = "http://106.15.73.20:9010/v3/api-docs"; //文档地址
SwaggerParser parser = new SwaggerParser();
SwaggerParseResult<Swagger> result = parser.readWithInfo(url); //解析文档
if (result.getMessages().isEmpty()) {
Swagger swagger = result.getSwagger(); //获取Swagger对象
//解析swagger对象并获取节点值
swagger.getPaths().get("/api/glossary/delete/{gSid}").getPost().getOperationId(); //获取operationId
swagger.getTags().get(0).getDescription(); //获取第一个tag的description
} else {
System.out.println(result.getMessages());
}
}
}
```
阅读全文