@Validated未生效
来源:2-2 验证HTTP Body中的参数与级联校验
慕圣2813975
2020-07-28 09:59:51
import com.toppower.missyou.dto.PersonDTO; import com.toppower.missyou.sample.ISkill; import org.hibernate.validator.constraints.Range; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/banner") @Validated public class BannerController { @Autowired private ISkill iSkill; @PostMapping("/test/{id}") public PersonDTO test( @PathVariable @Range(min = 1, max = 10, message = "不可以超过10嗷") Integer id, @RequestParam String name, @RequestBody @Validated PersonDTO person ) { iSkill.r(); PersonDTO dto = PersonDTO.builder() .name("222") .age(111) .build(); return dto; }
import lombok.*; import org.hibernate.validator.constraints.Length; @Builder @Getter //@Setter public class PersonDTO { @Length(min = 2,max = 10,message = "xxxx") private String name; private Integer age; }
之前有个同学说的test私有方法,检查后我的方法是公共的,不知道为何没有生效,网上这个也找不到答案,老师能否看看是什么问题
1回答
慕圣2813975
提问者
2020-07-28
刚刚尝试出来在DTO下面追加@setter就可以正常报错了 不是很理解这边的原理是什么呢 在老师视频里面是没有加setter的
相似问题