У меня есть спецификация openApi, которая использует аннотацию onOf, пример:
Код: Выделить всё
200_response:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/response_type1'
- $ref: '#/components/schemas/response_type2'
- $ref: '#/components/schemas/response_type3'
Код: Выделить всё
response_type1:
type: object
properties:
field_one:
$ref: '#/components/schemas/some_field'
field_two:
$ref: '#/components/schemas/other_field'
response_type2:
type: object
properties:
field_one:
$ref: '#/components/schemas/some_field'
field_two:
$ref: '#/components/schemas/other_field'
Проблема возникла после того, как владелец спецификации изменил поля и изменили их имена, но только по регистру. Теперь в спецификации есть smallCamelCase для типа 1 и Snake_Case для типа 2:
Код: Выделить всё
response_type1:
type: object
properties:
fieldOne:
$ref: '#/components/schemas/some_field'
fieldTwo:
$ref: '#/components/schemas/other_field'
response_type2:
type: object
properties:
field_one:
$ref: '#/components/schemas/some_field'
field_two:
$ref: '#/components/schemas/other_field'
В результате OpenApi Generator создает по 2 поля для каждого поля field1 и field2, но их имена совпадают. ! Т.е. он рассматривает fieldOne как field_one. В результате я получаю класс с двумя полями с одинаковым именем и ошибкой компиляции.
Спецификация огромна, а ручная модификация выглядит очень обременительной.
Есть ли способ заставить OpenApi обрабатывать имена записанных полей smallCamelCase и Snake_Case как РАЗНЫЕ имена?
Подробнее здесь: https://stackoverflow.com/questions/793 ... lds-writte