gpt4 book ai didi

swagger - 将 swagger API 文档 (swagger.json) 解析为 Java 对象

转载 作者:行者123 更新时间:2023-12-05 05:06:40 77 4
gpt4 key购买 nike

我想将任何复杂的 swagger-API-document(swagger.json) 解析为 Java 对象。

可能是列表>

有哪些可用选项?

我正在尝试使用 io.swagger.parser.SwaggerParser。

但我想确保我知道其他可用选项并且我使用了足以解析任何复杂文档的正确解析器。

目前我们正在尝试如下。

public  List<Map<String,Object>> parse(String swaggerDocString) throws SwaggerParseException{
try{
Swagger swagger = new SwaggerParser().parse(swaggerDocString);
return processSwagger(swagger);
}catch(Exception ex){
String exceptionRefId=OSGUtil.getExceptionReferenceId();
logger.error("exception ref id " + exceptionRefId + " : Error while loading swagger file " + ex);
throw new SwaggerParseException("", ex.getLocalizedMessage(),exceptionRefId);
}
}

public List<Map<String,Object>> processSwagger(Swagger swagger){
List<Map<String,Object>> finalResult=new ArrayList<>();
Map<String, Model> definitions = swagger.getDefinitions();
// loop all the available paths of the swagger
if(swagger.getPaths()!=null && swagger.getPaths().keySet()!=null &&swagger.getPaths().keySet().size()>0 ){
swagger.getPaths().keySet().forEach(group->{
//get the path
Path path=swagger.getPath(group);
//list all the operations of the path
Map<HttpMethod,Operation> mapList=path.getOperationMap();
mapList.forEach((httpMethod,operation)->{
processPathData(finalResult,operation,path,group,httpMethod,definitions,group);
});

});
}
return finalResult;
}

有什么区别

swagger-compat-spec-parser, Swagger 的解析器

最佳答案

swagger 拥有所有技术的实现。 https://swagger.io/tools/open-source/open-source-integrations/

将 swagger 解析为 Java 的详细信息在此处。 https://github.com/swagger-api/swagger-parser/tree/v1

关于swagger - 将 swagger API 文档 (swagger.json) 解析为 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59728310/

77 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com