コントローラーは次のとおりです。
public Objects flights(@RequestBody @Valid AForm aForm){
return null;
}
形式は次のとおりです。
public class AForm {
@NotNull(message = "数据更新时间必选")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private Date updateTime;
private List<ASubForm> updateList;
}
public class ASubForm {
@NotBlank(message = "航班号必选")
private String FlightNumber;
@NotBlank(message = "航班日期必选")
private String FlightDate;
@NotBlank(message = "离港机场必选")
private String DepAirport;
@NotBlank(message = "目的机场必选")
private String ArrAirport;
}
問題:
コントローラーが呼び出すと、外側の updateTime のみがデータ更新時間が必要であることを要求し、フライト番号、フライト日付などが空でチェックされません。
解決策:
AForm を変更し、リスト オブジェクトに注釈 @Valid を追加して正常に検証します。
public class AForm {
@NotNull(message = "数据更新时间必选")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private Date updateTime;
@Valid
private List<ASubForm> updateList;
}