Генератор Maven OpenApi: есть ли способ заставить генератор учитывать поля, написанные с помощью SnakeCase и lowCamelCasJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Генератор Maven OpenApi: есть ли способ заставить генератор учитывать поля, написанные с помощью SnakeCase и lowCamelCas

Сообщение Anonymous »

Я использую плагин OpenApi Maven для создания классов клиента Java из документа спецификации OpenApi.
У меня есть спецификация 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_typeX имеет свой набор имен, которые в основном совпадают.

Код: Выделить всё

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'
Это работает и приводит к правильной генерации одного класса, который имеет 2 поля: поле1 и поле2.
Проблема возникла после того, как владелец спецификации изменил поля и изменили их имена, но только по регистру. Теперь в спецификации есть 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»