我正在使用抽象类将我的模型本地化为不同的语言。这是我建立的继承链:
//Base model, contains localized fields
public class Restaurant extends LocalizedModel<LocalizedRestaurantData>{
...
}
//Abstract class to support localized fields for all my models
@XmlRootElement
public abstract class LocalizedModel<T extends LocalizedData> {
private T en;
public T getEn() {
return en;
}
public void setEn(T en) {
this.en = en;
}
...
}
//Implementation of the localized fields for the restaurant class.
@XmlRootElement
public class LocalizedRestaurantData extends LocalizedData{
protected String name;
protected String address;
...
}
这一切都在我的 Jersey JSON Web 服务中运行良好,除了一件事:本地化属性的所有实例都en
包含一个额外的字段type
:
Restaurant
JSON:
{
"en": {
"type": "localizedRestaurantData",
"address": "1234 Main St.",
"name": "Tacos Folie"
},
...
}
这个type
字段是不受欢迎和不受欢迎的,特别是因为杰克逊在解析对象时似乎也需要它。我@JsonIgnoreProperties({"type"})
在我的代码中添加了但没有成功。