Я разрабатываю REST API с использованием spring-boot (2.0.5) и верблюда (2.22.1).API определяется и автоматически документируется с использованием превосходного DSL REST Camel.Все работает отлично, за исключением того, что когда я проверяю сгенерированное чванство (JSON или YAML), мои ответы содержат недопустимое свойство responseSchema
, которое выглядит как дубликат действительного свойства schema
, которое я ожидаю.Это приводит к ошибкам проверки при рендеринге через swagger-ui.
Вот пример моего определения API:
rest("/things")
.get("/").outType(Thing[].class)
.param().name("param1").type(RestParamType.query).required(FALSE)
.description("param 1").endParam()
.responseMessage().code(200).message("Some things..")
.header("number-of-things").dataType("integer").endHeader()
.endResponseMessage()
.responseMessage().code(400)
.message("Bad request.")
.responseModel(Error.class).endResponseMessage()
, который производит следующий вывод в разделе responses
моего чванства:
400:
description: "Bad request."
schema:
$ref: "#/definitions/Error"
responseSchema:
$ref: "#/definitions/Error"
Это выглядиткак будто я решаю эту проблему , и есть несколько предложений по ее решению, но я не уверен, что предпочтительнее в приложении SpringBoot, и, кроме того, у меня пока нет ни одного решения для работы.