我@Valid对所有输入对象(绑定和@RequestBodyjson,请参阅https://dzone.com/articles/spring-31-valid-requestbody)使用Hibernate Validator via 。所以@org.hibernate.validator.constraints.SafeHtml对我来说是一个很好的解决方案。
Hibernate SafeHtmlValidator依赖org.jsoup,因此需要再添加一个项目依赖项:
org.jsoup
jsoup
1.10.1
对于User带田豆
@NotEmpty
@SafeHtml
protected String name;
用于尝试使用控制器中的值进行更新
@PutMapping(value = "/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
public void update(@Valid @RequestBody User user, @PathVariable("id") int id)
要么
@PostMapping
public void createOrUpdate(@Valid User user) {
是抛出BindException了约束力,MethodArgumentNotValidException对@RequestBody与缺省的消息:
name may have unsafe html content
验证程序与绑定一样有效,就像持久化之前一样。可以在http://topjava.herokuapp.com/上测试应用程序