gpt4 book ai didi

java - 定义 POJO 以更改 JSON 响应

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:43 24 4
gpt4 key购买 nike

我正在使用Java 8/Spring 5调用第三方API。我正在使用 HttpClient,它运行良好,并且我有一个 POJO,它在 99% 的情况下都可以运行。

当我调用这个服务时,JSON 如下所示:

{"field1":"a",
"field2":"b",
"field3:"c"}

根据不同的参数,它可能返回为:

{"field1":"a",
"field2":{
"subfield1:"x",
"subfield2:"y",
"subfield3":"z"},
"field3:"c"}

我正在使用最新的 FastJacksonMapper 将 JSON 字符串转换为 Java POJO,它在第一个实例中有效,但在第二个实例中无效。

我知道 JSON 根据请求进行更改可能很常见,但我希望 JSON 能够更加一致。

关于如何调整 POJO 有什么想法吗?我可以使用任何 JSON 注释来解决此问题吗?或者,也许创建一个单独的 POJO,以便万一一个失败,另一个可以接起?

谢谢!

最佳答案

那么对于相同的 URL 和 http 方法,您可以获得不同的有效负载吗?相同的键“field2”可能在选项 A 中具有字符串值,而在选项 B 中具有不同的对象?恕我直言,这是糟糕的 API 设计。

那个第三方 API 有类似 swagger 的描述吗?这样的描述将帮助您生成带有正确注释的正确 POJO。

如果此类文档不可用,请尝试使用生成器,例如:http://www.jsonschema2pojo.org/

关于java - 定义 POJO 以更改 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48773929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com