我有一个类似于以下
的实体对象@Document(collection = "job")
public class Job {
@Id
private String id;
private JobStatus status;
@NotBlank
private String term;
...standard getters/setters
}
我有一个像这样的控制器:
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<Job> createJob(@RequestBody @Valid Job job) {
...store the new job in the database
}
在存储到数据库之前,Job.status属性由代码设置。将忽略createJob方法的请求主体中包含的任何“status”属性。
我想在作业写入数据库时验证Job.status不为null,但不要求用户在请求正文中包含状态。如果我使用@NotNull注释Job.status属性,则除非我包含“status”,否则请求正文的验证将失败。
如何仅在持久保存到数据存储而不是作为请求正文的一部分时验证状态字段?
答案 0 :(得分:0)
您尝试将数据库实体用作具有不同验证规则的UI实体。你有选择: