@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的
相似问题