как название) и не нарушает Codegen.

ался добавить примеры к моему Swagger API в соответствии софициальные документы (см. последний кодовый блокПримеры тела запросов и ответов) но это не похоже на работу, как ожидалось.

Рассматривая следующий минимальный пример:

swagger: "2.0"
info:
  description: Desc
  version: "1"
  title: Title
paths:
  /stuff:
    post:
      produces:
      - application/json
      responses:
        201:
          description: It worked
          content:
            application/json:
              schema:
                $ref: "#/definitions/StatusMessage"
              examples:
                Success without message:
                  value:
                    code: "00000"
                Success with message:
                  value:
                    code: "00000"
                    message: "All right"
definitions:
  StatusMessage:
    type: object
    description: Response with code and optional message
    properties:
      code:
        type: string
      message:
        type: string
    required:
    - code

Я хочу предоставить пример ответов, один с необязательным свойствомmessage настоящее, а другое без. Однако вышеупомянутый файл YAML дает неправильные результаты в сгенерированном классе API:

@ApiOperation(value = "", nickname = "stuffPost", notes = "", tags={  })
@ApiResponses(value = { 
    @ApiResponse(code = 201, message = "It worked") })
@RequestMapping(value = "/stuff",
    method = RequestMethod.POST)
default ResponseEntity<Void> stuffPost() { /*default implementation*/ }

produces свойство отсутствует и тип возвращаемого значения неправильный! Кроме того, это не компилируется вSwagger Editor:responses свойствоshould NOT have additional properties.

Я изменил его, чтобы получить «действительный» пример в редакторе Swagger, но сгенерированный код также неверен. Смотри ниже:

paths:
  /stuff:
    post:
      produces:
      - application/json
      responses:
        201:
          description: It worked
          schema:
            $ref: "#/definitions/StatusMessage"
          examples:
            Success without message:
              code: "00000"
            Success with message:
              code: "00000"
              message: "All right"

Сгенерированный метод:

@ApiOperation(value = "", nickname = "stuffPost", notes = "", response = StatusMessage.class, tags={  })
@ApiResponses(value = { 
    @ApiResponse(code = 201, message = "It worked", response = StatusMessage.class) })
@RequestMapping(value = "/stuff",
    produces = { "application/json", "Success without message", "Success with message" }, 
    method = RequestMethod.POST)
default ResponseEntity<StatusMessage> stuffPost() { /*default implementation*/ }

На этот разproduces собственность есть, но полностью выключена!

Как я могу заставить это работать? Это работает, если я использую вторую версию сapplication/json в качестве ключа для заголовка примера, но это мешает мне добавить больше примеров из-за дублированного ключа.

Ответы на вопрос(1)

Ваш ответ на вопрос