我有一个REST API,它使用POST调用来创建记录,我期望某些对象在调用后传递,如果缺少任何内容,我必须直接拒绝它们,
@RequestMapping(value="/saveEssentialDetails",produces={"application/json"},method=RequestMethod.POST)
ResponseEntity<?> saveEssentialDetails(@ApiParam(value="Body Parameters")@RequestBody @Validated EssentialDetails essentialDetails, BindingResult bindingResult)throws Exception;
Essential Model类如下
@Data
@NoArgsConstructor
@Document(collection="essentialDetails")
public class EssentialDetails {
@NotNull
Integer dpId;
@Id
@NotEmpty
String tpId;
@NotEmpty
List<FamousFor> famousFor;
@NotEmpty
List<OpenHours> openHours;
@NotEmpty
Pictures uploadedImages;
@NotEmpty
List<FloorDescription> floorDescriptions;
@NotEmpty
List<Outlets> mallOutlets;
}
但是在进行具有Missing属性的Post Call时,我可以在MongoDB中创建一个条目,我不想保留该条目,因为这不是一个适当的请求,@ Validation对我不起作用,我正在使用带有MongoDb 4.0.4的Spring Boot 2.0.6, 任何帮助将不胜感激。预先感谢
答案 0 :(得分:0)
@Validated
可用于使用自定义验证对象来验证对象。用法示例:
@RequestMapping(value = "/")
public String request(@Validated(Account.ValidationStepOne.class) Account account)
使用@Validated
代替@Valid
,它会检查您在实体中使用的验证注释。