我正在尝试将字符串输入添加到spring启动应用程序。内容类型是json,我正在尝试为其添加验证。
@RestController
@RequestMapping(value = "/entries")
public class SampleController {
@RequestMapping(method = RequestMethod.DELETE)
@ResponseStatus(value = HttpStatus.NO_CONTENT)
public void delete(@RequestBody @NotBlank(message = "{field.required}") String username) throws Exception {
//some logic
}
}
由于某些原因,@Notblank
注释不起作用。
这是正确的做法。
答案 0 :(得分:2)
一种方法是创建一个模型/ dto类,并在此类中的String上定义@NotBlank
。然后只需更改您的控制器代码:
@RequestMapping(method = RequestMethod.DELETE)
@ResponseStatus(value = HttpStatus.NO_CONTENT)
public void delete(@RequestBody @Valid MyClass myClass) throws Exception {
...
}
要获得更多见解,请查看here
答案 1 :(得分:1)
您无法在方法参数上使用这些验证。 如果需要验证,则需要将参数绑定到对象上。然后,您只需添加@Valid注释。 请参阅此example。