【发布时间】:2020-03-20 16:19:50
【问题描述】:
我们有一个像下面这样的 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 属性。但它仍然在响应中返回为 null 。
同样,在 student/details/{studId}/results 中,我们不会填充 permanentAddress 和 residentialAddress,但它们在响应中仍然返回为 null。
基本上,我想根据端点控制哪些属性被序列化,而不管它们是否为空。
谢谢。
【问题讨论】:
-
看看 JsonSerializer 或 ContextResolver。这里有一个例子adam-bien.com/roller/abien/entry/…