2023年12月7日
今天在写接口参数校验时遇到一个问题,将注解@Validated写在Controller上时导致导入的Service为空
Controller代码
@Validated
@RestController
@RequestMapping("test")
public class TestController {
@Autowired
private TestService testService;
@GetMapping("say_hello")
private String sayHello(@Size(max = 10, message = "名称最大长度不超过10") String name) {
return testService.sayHello(name);
}
}
结果
调试
通过断点调试发现注入的TestService为空,导致了空指针异常
解决方法
最终排查了半天终于发现了问题所在,先直接放上解决方法,下面再分析具体原因
将方法的private改成public
问题成功解决