我需要使用JSON对象进行API调用。这对我使用数据类和使用restTemplate.postForEntity()
有用。我遇到的问题是API正在寻找{ "object": ... }
的属性,我不能在对象的数据类中创建一个val,因为它是一个保留的关键字。
我试图覆盖toString方法以输出"RequestClass(\"object\"=$obj)"
,但这不起作用。是否有另一个类需要用restTemplate覆盖,或者是否有不同的方法来创建一个与保留关键字同名的属性?
答案 0 :(得分:1)
该链接有助于修复它。命名变量`object`允许它保留该命名方案。谢谢!
答案 1 :(得分:0)
我不喜欢使用反引号,因为它污染了你的代码。你最终不得不在任何想要引用该字段的地方使用这些反引号。您可以将其命名为适当的不是保留关键字,并使用映射层(可能是jackson)来更改序列化名称:
@field:JsonProperty("object")
我倾向于不时为名为“default”等的json字段执行此操作。