java - JAX-RS 仅序列化少数属性

标签 java rest jax-rs

我们有一个如下所示的 DTO

public class Student {
    private String name;
    private String id;
    private ExamResults results;
    private Address residentialAddress;
    private Address permanentAddress;
    // setter and getter methods
}

多个端点使用相同的 DTO,例如 Student/details/{studId}、student/details/{studId}/results

在student/details/{studId}端点中,我们不填充results属性。但它仍然在响应中返回为空。

同样,在 Student/details/{studId}/results 中,我们不填充 permanentAddressresidentialAddress,但这些在响应中仍然返回为 null。

基本上,我想根据端点控制哪些属性被序列化,无论它们是否为空。

谢谢。

最佳答案

您可以尝试使用

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Student {

关于java - JAX-RS 仅序列化少数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60770598/

相关文章:

JavaFX - 节点文本上的第一个下划线不呈现

REST - bool 参数命名约定

java - 使用 Resteasy 的多个端点

rest - 使用 JAX-RS 编码列表<String>

java - jpql (JPA) 中重复的父子数据

Java Swing - 如何使用 MigLayout 将 JTable 放入 JScrollPane 中而不出现问题?

java - ListView - getView 被调用太多次

java - 使用递归替换字符串序列

java - 负数组大小异常 -1

scala - 喷涂框架的生产准备就绪了吗?