Я использую swagger-parser для чтения исходного файла и могу вносить изменения в полученные объекты OpenAPI. Я попробовал несколько способов сериализации этих объектов в файлы JSON, но openapi-generator столкнулся с проблемами при анализе этих файлов.
Обычно код выглядит следующим образом:
Код: Выделить всё
SwaggerParseResult result = new OpenAPIParser().readLocation( INPUT_FILE, null, null );
OpenAPI openAPI = result.getOpenAPI();
// at this point, result.getMessages() is an empty list
/* ... tweak the API description ... */
String rawData = Json.pretty(openAPI);
try {
FileUtils.writeStringToFile( OUTPUT_FILE, rawData, Charset.defaultCharset() );
} catch (IOException e) {
throw new RuntimeException("Error writing file", e);
}
Ошибки проверки, которые я вижу, включают:
- Схемы имеют как свойство типа (строка), так и типы (массив строк).
Поля расширений (например, x-whatever) объектов отображаются как поля внутри объекта расширений. - Некоторые дополнительные внутренние поля объектов OpenAPI попадают в JSON
Код: Выделить всё
"components" : {
"schemas" : {
"something" : {
"minLength" : 1,
"maxLength" : 10,
"type" : "string",
"types" : [ "string" ],
"extensions" : {
"x-whatever" : true
}
}
...
Итак, как это происходит? Ожидается ли сериализация объекта OpenAPI в файл таким образом, чтобы его можно было снова проанализировать с помощью собственного OpenAPIParser Swagger?
Подробнее здесь: https://stackoverflow.com/questions/784 ... ation-file
Мобильная версия