java - Jersey 休息 : how to return interface instead of class

标签 java json rest jersey

我有一个休息网络服务。由于某种原因,我不想返回需要转换为接口(interface)的类。我想返回接口(interface),并且在 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 响应中。我不想将其包含在回复中。

我该如何解决这个问题?

最佳答案

您尝试过@JsonIgnore注释吗?将字段标记为 transient 也可能会有所帮助 - 但我不确定这是否可以。

关于java - Jersey 休息 : how to return interface instead of class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30844563/

相关文章:

json - 解码后访问嵌套 JSON 数组的 Golang 问题

c# - 如何使用 Rest API 在 azure 表中使用延续 token

java - JAX-RS 编码

Java 8 lambda 错误

java - 如何在 H2 中设置 sysdate? (供测试用)

java - 如何在我的移动消息 Android 应用程序中添加滑动抽屉?

java - 如何使用 X-Unsent : 1 using Message. writeTo 将电子邮件保存为 .eml

json - 如何在 ECMAScript 6 中导入 JSON 文件?

json - 使用 Alamofire 获取 json 值

java - 使用 @Stateless 注释 Java REST 资源有哪些好处/区别?