У меня есть Kotlin приложение Gradle Spring Boot и Spring Webflux, которое принимает JSON в качестве тела запроса. У меня есть openapi
сгенерированный Java класс, в который может быть преобразовано тело запроса JSON.
С другой стороны, у меня также есть схема Avro, которая совпадает с openapi
, за исключением того, что имена полей были убраны. В теле запроса JSON есть поля, в которых имена начинаются со специального символа, например $device_version
, +ip_address
, ~country
. Таким образом, в схеме Avro я удаляю их, поскольку Avro позволяет только имени поля начинаться с алфавита или подчеркивания.
Приведение из JSON тела запроса к openapi
сгенерированному Java класс no проблема, однако, приведение его к сгенерированному классу Avro Java является проблемой из-за имен полей.
Я имею в виду, я могу установить поля вручную, но объект JSON довольно большой.
Существует ли элегантное и быстрое решение для преобразования этого JSON тела запроса, содержащего различные имена полей из-за специального символа, в сгенерированный класс схемы Avro?
Используемые пакеты
org.hidetake.swagger.generator
org.openapitools:openapi-generator-cli
(с swaggerCodeGen) com.commercehub.gradle.plugin:gradle-avro-plugin