springmvc @Validated注解 如何在service里开启验证

问题描述

  1. 服务器在controller中接收客户端传来的json
  2. controller根据json中的type字段,生成不同的request对象,并调用对应的service来处理。
  3. service处理request之前,首先要进行参数判断,再进行后续的处理。

通常情况下,request字段应该直接在controller里校验,但是我这边controller只能根据接受到json中的type字段才能生成具体的request对象,因此只能在service中校验。但service方法中的@Validated对象似乎并没有起作用。
clipboard.png
request里的字段上有@NotBlank(message="xxx")注解,但是并不起作用。


请问是哪里有问题?还是@Validated注解只能用在controller里?

阅读 6.7k
1 个回答

Spring validation 验证框架对入参实体进行嵌套验证必须在相应属性(字段)加上 @Valid 而不是 @Validated

推荐问题