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.6k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题