有没有办法从io.swagger.models.Swagger中获取swagger ui html?

时间:2019-11-05 12:15:13

标签: java merge swagger swagger-ui springfox

好的,我有许多 io.swagger.models.Swagger 对象,我将它们合并为一个新的超级Swagger。现在我想要超级HTML。我怎么能得到这个?注意,为了获得每个Swagger定义,我使用了新的SwaggerParser()。read(“ pathToSwagger”)。因此,这是从Swagger源获取Swagger对象的示例,现在我需要相反的操作,即从 io.swagger.models.Swagger 对象生成Swagger源。你能帮忙吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码。从JSONObject中,您将获得Swagger json,可以在HTML中进一​​步使用它。

public JSONObject getSwaggerJson(Swagger swagger) throws ServiceApiException {
    try {
        // Re-parse as JsonObject to ensure ordering of definitions and paths.
        // TODO: make this optional (see limberest.yaml comments in limberest-demo)
        JsonObject swaggerJson = new JsonObject(Json.mapper().writeValueAsString(swagger));
        if (swaggerJson.has("definitions"))
            swaggerJson.put("definitions", new JsonObject(swaggerJson.getJSONObject("definitions").toString()));
        if (swaggerJson.has("paths"))
            swaggerJson.put("paths", new JsonObject(swaggerJson.getJSONObject("paths").toString()));
        return swaggerJson;
    }
    catch (JsonProcessingException ex) {
        throw new ServiceApiException(ex.getMessage(), ex);
    }
}

来源:https://www.programcreek.com/java-api-examples/?api=io.swagger.models.Swagger

答案 1 :(得分:1)

我知道一个有趣的开源项目j2html。 在那里,以有趣的方式执行html文档的形成。可能会帮您从超级swagger对象创建一个html。