- 添加swagger-invocation-validator的pom依赖:
- 在需要验证的代码上按照JSR 349规范添加验证器注解,如@NotNull,@Min,@Max等。
- 接口参数验证
- bean类验证
需要在传入的Student对象前加@Valid,如上图sayHello(@Valid Student student)方法。
public class Student {
@NotNull
private String name;
@Max(20)
private int age;
this.name = name;
}
public String getName() {
return this.name;
}
this.age = age;
}
public int getAge() {
return age;
}
}
- 默认的参数效验器ParameterValidator已经实现了接口ProducerInvokeExtension,按照JSR 349规范处理所需的参数验证。
返回错误支持自定义扩展,使用SPI机制。
可以通过实现接口ExceptionToProducerResponseConverter来自定义返回的错误信息,以ConstraintViolationExceptionToProducerResponseConverter为例。
在META-INF下的services文件夹增加一个文件,以所实现接口x.x.x.ExceptionToProducerResponseConverter(带包名)为名,以具体实现类x.x.x.ConstraintViolationExceptionToProducerResponseConverter(带包名)为内容。