使用注解@Validated和@Valid做入参校验,结果报错:
"JSR-303 validated property 'xxx.id' does not have a corresponding accessor for Spring data binding - check your DataBinder's configuration (bean property versus direct field access)"
解决方法,在全局异常处理类里面添加如下配置即可,大概意思是:将Spring DataBinder配置为使用直接字段访问
@RestControllerAdvice
public class ExceptionAdvice {
// 将Spring DataBinder配置为使用直接字段访问
@InitBinder
private void activateDirectFieldAccess(DataBinder dataBinder) {
dataBinder.initDirectFieldAccess();
}
// 省略其他无关代码..............
}