簡體   English   中英

Spring MVC Rest Service JSON-將布爾值的默認值設置為true

[英]Spring MVC Rest Service JSON - Setting default value for boolean as true

boolean值的默認值設置為true

這就是其中具有布爾值的dto clas。

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.

  }
}

調節器

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

}

如何將布爾值默認設置為true, 所以如果json中不存在此值,則它不應為false,而應為true。

關於什么?

@JsonIgnore
private boolean isSelected = true;

從評論:

那么即使我在json中發送false,其takng也為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;
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM