【发布时间】:2015-06-12 08:43:45
【问题描述】:
我正在使用 Dropwizard(在后台使用 Jackson)来创建桥接 API 服务。它连接到其他两个非常相似的 API(API1 和 API2)。
我有自己的 POJO 库,其中包含 API1 和 API2 的请求和响应 POJO。这两个 API 之间的唯一区别是,对于某些对象,API1 发出大写的密钥,而另一个没有。基本上一个 API1 是用 Java 实现的,API2 是用 .NET 实现的,但两者都提供相同的数据。
{
"Name" : "foo",
"Address" : "bar"
}
对
{
"name" : "foo",
"address" : "bar"
}
我想避免为每个对象编写一个 POJO 类,否则它们是相同的对象。
告诉杰克逊接受任何一个名字的正确方法是什么?
我知道@JsonProperty 例如
@JsonProperty("Name")
private String name;
但是,即使这对“名称”和“名称”都有效,但感觉有点不整洁。对我来说,声明这个注解应该实际上意味着忽略编码的字段名称而支持注解。
提前致谢
【问题讨论】:
标签: java jackson dropwizard