Spring 使用流的JSON响应对象
我用的是弹簧靴。我正在从DAO生成JSON响应。 我的最终JSON响应具有以下三个属性:Spring 使用流的JSON响应对象,spring,spring-boot,stream,Spring,Spring Boot,Stream,我用的是弹簧靴。我正在从DAO生成JSON响应。 我的最终JSON响应具有以下三个属性: { "A": "00011", "B": "abc", "C": "RDG" } 输出应如下所示: { "A": "00011",
{
"A": "00011",
"B": "abc",
"C": "RDG"
}
输出应如下所示:
{
"A": "00011",
"B": "abc"
}
在下面的代码中,TModel继承了DAO的属性以及所有三个字段A、B、C。这将返回给我的控制器。如何在JSON响应中去掉字段C
代码:
public TModel(List<TModel> tEntities) {
List<TModel> responseEntities= tEntities.stream()
.filter(model -> model.getStatus().equals("RDG"))
.collect(Collectors.toList());
公共TModel(列表){
列表响应=tenties.stream()
.filter(model->model.getStatus().equals(“RDG”))
.collect(Collectors.toList());
解决方案1)在字段c上添加@JsonIgnore注释 解决方案2)
创建一个没有字段C的DTO对象。您可以使用MapStruct之类的工具,帮助在域和DTO对象之间进行映射
我更喜欢解决方案2,因为它更干净。如果允许更改响应模型,只需在C字段上方添加@JsonIgnore注释即可