java - Spring MVC Rest Service JSON - 将 boolean 值的默认值设置为 true

标签 java json spring rest spring-mvc

boolean的默认值设置为true

这是 dto 类,其中包含 boolean 值。

DTO 类

public class SensitivityDto extends AuditableEntity implements Serializable {
    private static final long serialVersionUID = 1L;


    private long sensitivityId;
    @JsonIgnore
    private boolean isSelected;

    public SensitivityDto() {
    }
    /** other getter/setters */
    public boolean isIsSelected() {
        return isSelected;
    }

    public void setIsSelected(boolean isSelected) {
        this.isSelected = isSelected;
    }

}

输入json

{
  "sensitivity": {
    "sensitivityId": 100,
    "isSelected": "true", // if not passing this field always its treated as null.

  }
}

Controller

public @ResponseBody ResultDecorator saveLabResultCultureDetails(@RequestBody SensitivityDto sensitivityDto) throws  Exception {

}

如何将 boolean 值默认设置为 true,这样,如果 json 中不存在该值,那么它不应该为 false,而应该为 true。

最佳答案

什么?

@JsonIgnore
private boolean isSelected = true;

来自评论:

then even I'm sending false in json, its takng as true

您必须删除@JsonIgnore并使用@JsonAutoDetect ,如下:

import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;

@JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
public class SensitivityDto extends AuditableEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    private long sensitivityId;


    private boolean isSelected = true;

    public SensitivityDto() {
    }

    /** other getter/setters */
    public boolean isIsSelected() {
        return isSelected;
    }

    public void setIsSelected(boolean isSelected) {
        this.isSelected = isSelected;
    }

}

关于java - Spring MVC Rest Service JSON - 将 boolean 值的默认值设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41531136/

相关文章:

java - 在camel路由中发送POST请求

python - Python 重新编码 JSON 文件

jquery - Spring MVC 400 错误请求 Ajax

java - Thymeleaf if + 每个订单

java - 无法注册 JDBC 驱动程序

java - 在 Elasticsearch 查询中格式化日期(检索期间)

java - 5.3.0.Final 版本中缺少 Infinispan.war

sql - PostgreSQL 与 json 数组中的模式反向 LIKE

python - 使用来自 ajax 响应的嵌套值导航 Python 字典

java.lang.NoClassDefFoundError : org/springframework/web/servlet/support/RequestDataValueProcessor