未验证请求正文对象



我有一个REST API,它使用POST调用来创建记录,我希望在调用后传递某些Object,如果缺少任何东西,我必须直接拒绝它们唯一的

@RequestMapping(value="/saveEssentialDetails",produces={"application/json"},method=RequestMethod.POST)
ResponseEntity<?> saveEssentialDetails(@ApiParam(value="Body Parameters")@RequestBody @Validated EssentialDetails essentialDetails, BindingResult bindingResult)throws Exception;

基本模型类如下

@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对我不起作用,我使用的是spring-boot 2.0.6和MongoDB 4.0.4,如有任何帮助,我们将不胜感激。提前感谢

@Validated可用于使用自定义验证对象验证对象。示例用法:

@RequestMapping(value = "/")
public String request(@Validated(Account.ValidationStepOne.class) Account account)

不要使用@Validated,而是使用@Valid,它会检查您在实体中使用的验证注释。

相关内容

最新更新