Есть ли способ исключить свойство из сгенерированного swagger объекта, когда такой параметр не передан - PullRequest
0 голосов
/ 05 июля 2019

Я использую swagger + openapi 3.0.1 в своем проекте весенней загрузки mvc CRUD. Когда я обновляю свою сущность (UpdateDao), используя метод PUT, я получаю dto, построенный из свойств моего файла конфигурации. У моего updateEntity есть несколько свойств, например:

Я пытался сделать свойства обнуляемыми (true / false) в упомянутом api.yaml, но это ни на что не влияет.

UpdateDao:
    allOf:
        -   $ref: '#/components/schemas/CommonDao'
        -   type: object
            properties:
                width:
                    type: integer
                    format: int32
                    description: width, inches
                    example: 10
                length:
                    type: integer
                    format: int32
                    description: length, inches
                    example: 10
                height:
                    type: integer
                    format: int32
                    description: heught, inches
                    example: 10

Я получаю запрос от другого сервиса, и его свойства обновления являются пользовательскими. Например, я могу получить только ширину и высоту, но не длину.

На данный момент, используя мой UpdateDao, я получаю все три свойства, включая неопределенные. Неуказанные значения - ноль.

Я использую BeanUtils.copyProperties (updateDao, entity), поэтому обновляет мои текущие значения с null .

Есть ли способ, которым я могу исключить свойства из updateDao, когда они не указаны в теле ???

...