Есть ли способ получить swagger ui html от io.swagger.models.Swagger? - PullRequest
4 голосов
/ 05 ноября 2019

ОК, у меня есть несколько io.swagger.models.Swagger объектов, я объединил их в один новый, супер Swagger. Теперь я хочу супер HTML. Как я могу получить это? Обратите внимание, чтобы получить каждое из моих определений Swagger, я использовал новый SwaggerParser (). Read ("pathToSwagger"). Итак, это пример получения объекта Swagger из источника Swagger, теперь мне нужно обратное, а именно, получение источника Swagger из io.swagger.models.Swagger объекта. Вы можете помочь?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2019

Я знаю один интересный проект с открытым исходным кодом j2html . Там формирование html документа выполняется интересным образом. Может быть, это поможет вам создать один html из объекта super swagger.

0 голосов
/ 11 ноября 2019

Вы можете попробовать следующий код. От 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

...