我有一个休息的网络服务。出于某种原因,我不想返回需要转换为界面的类。我想返回接口,在JSON中我只想看到方法(开始获取)的值。不是实现类的所有属性。
说一个例子:
@Path("getValues/")
@GET
@Produces( MediaType.APPLICATION_JSON)
public DetailInterface getClientDetail() {
return new DetailImpl();
}
并考虑界面:
public interface DetailInterface {
public String getName();
public String getAge();
}
并考虑实施
public class DetailImpl implements DetailInterface {
public String getName()
return "my name";
}
public String getAge(){
return "my age";
}
public String iDontWantThisinJSON() {
return "I don't want this in JSON output";
}
}
当我请求其他服务时,我看到iDontWantThisinJSON
属性也出现在JSON响应中。我不想将其包含在回复中。
我该如何解决这个问题?
答案 0 :(得分:0)
您是否尝试过@JsonIgnore
注释?将字段标记为transient
可能也有帮助 - 但我不确定它是否正常。
答案 1 :(得分:0)
这是一个比Rest或Json更多的java概念。您将必须按如下方式修改代码,它应该按照您希望的方式工作。
@Path("getValues/")
@GET
@Produces( MediaType.APPLICATION_JSON)
public DetailInterface getClientDetail() {
DetailInterface di = new DetailImpl()
return di;
}