使@RequestBody对象中的一个字段具有默认值

时间:2019-03-24 10:31:20

标签: spring-annotations

我有这个休息服务方法声明。

@PostMapping(value = "/games", consumes=MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<CreateGameResponse> createGames(@RequestBody 
CreateGameRequest req){}

及以下是我的CreateGameRequest类的结构-

public class CreateGameRequest {
@JsonProperty("noOfStones")
@Value("${noOfStones:6}")
private Integer noOfStones;
@JsonProperty("player1Name")
private String p1Name;
@JsonProperty("player2Name")
private String p2Name;
public Integer getNoOfStones() {
    return noOfStones;
}
public void setNoOfStones(Integer noOfStones) {
    this.noOfStones = noOfStones;
}
public String getP1Name() {
    return p1Name;
}
public void setP1Name(String p1Name) {
    this.p1Name = p1Name;
}
public String getP2Name() {
    return p2Name;
}
public void setP2Name(String p2Name) {
    this.p2Name = p2Name;
}


}

如果在输入中未传递任何值,我希望字段'noOfStones'默认为值6。我使用的技巧不起作用,如果未将noOfStones作为输入传递,则将noOfStones视为null。为其设置默认值怎么办?

0 个答案:

没有答案