使用swagger-request-validator验证请求合法性

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2018/03/22/use-swagger-request-validator-validate-request/

Swagger常常用在API设计上,很多应用框架还可以直接通过代码生成Swagger文件。

有些时候我们自己可能也是一个服务的消费者,即我们需要发送请求给某个API。

Swagger docs一般会包含请求的格式和要求,对于一般的GET请求还好,但是对于POST请求,有可能body本身挺复杂的,有时候就需要验证请求的本身是否符合Swagger doc的规定。

swagger-request-validator是atlassian的一套swagger验证工具。支持Spring MVC等应用框架,当然也可以手动时候。

首先引入依赖

<dependency>
    <groupId>com.atlassian.oai</groupId>
    <artifactId>swagger-request-validator-core</artifactId>
    <version>${swagger-request-validator.version}</version>
</dependency>

其次通过Swagger定义文件生成验证器。

final SwaggerRequestResponseValidator validator = SwaggerRequestResponseValidator
        .createFor(swaggerJsonUrl / swagger Json content)
        .withBasePathOverride(basePathOverride)
        .build;
final ValidationReport report = validator.validate(request, response);

验证器可以从网址或者定义文件内容直接生成。

如果只需要验证请求,那么就调用validateRequest。

这里的Request对象可以通过SimpleRequest.Builder直接构建的。

参考

https://bitbucket.org/atlassian/swagger-request-validator

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2018/03/22/use-swagger-request-validator-validate-request/

发表评论