首页 > 解决方案 > 如何将 JSON 请求正文转换为基于 Avro 模式的 Java 类?

问题描述

我有一个 Kotlin Gradle Spring Boot 和 Spring Webflux 应用程序,它接受 JSON 作为其请求正文。我有一个openapi生成的 Java 类,可以将 JSON 请求正文转换为该类。

另一方面,我也有一个与 相同的 Avro 架构openapi,除了字段名称已被清理。JSON 请求正文具有名称以特殊字符开头的字段,例如$device_version, +ip_address, ~country。因此,在 Avro 模式中,我将它们删除,因为 Avro 只允许字段名称以字母或下划线开头。

从 JSON 请求正文转换为openapi生成的 Java 类没有问题,但是,由于字段名称,将其转换为 Avro 模式生成的 Java 类是一个问题。

我的意思是,我可以手动设置字段,但 JSON 对象非常庞大。

是否有一种优雅而快速的解决方案可以将包含由于特殊字符而包含不同字段名称的 JSON 请求正文转换为 Avro 模式生成的类?

使用的包

标签: javajsonavroopenapi

解决方案


推荐阅读