API 网关为您提供完整的 API 托管服务,辅助用户将能力、服务、数据以 API 的形式开放给合作伙伴,也可以发布到 API 市场供更多的开发者采购使用。
提供防攻击、防重放、请求加密、身份认证、权限管理、流量控制等多重手段保证 API 安全,降低 API 开放风险。
提供 API 定义、测试、发布、下线等全生命周期管理,并生成 SDK、API 说明文档,提升 API 管理、迭代的效率。
提供便捷的监控、报警、分析、API 市场等运维、运营工具,降低 API 运营、维护成本。
阿里的API网关提供了很强大的能力,如果我们不想在自己的分布式应用中自己弄一套网关,那就直接使用阿里云提供的API网关服务:
https://apigateway.console.aliyun.com
快速入门地址:
https://help.aliyun.com/document_detail/29487.html?spm=a2c4g.11186623.6.553.41b272c3PEzDdO
问题
有时候刚开发完成的应用提供了几十个接口,通过后台一个个录入实在是耗费体力的活。好在其提供了通过Swagger导出的JSON/YMAL来导入接口。如何使用呢?
1 接入Swagger
<!-- 文档工具 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Bean
public Docket petApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("package.name"))
.paths(PathSelectors.any())
.build()
.pathMapping("/")
;
}
}
2 在访问页面后导出json
3 去Swagger在线编辑器上转成YMAL内容,然后按照API网关要求的格式修改
4 参阅API网关要求的格式修改YMAL文件。
https://help.aliyun.com/document_detail/88956.html?spm=a2c4g.11186623.2.16.d5b04d4eQwX5X9
最后
重点就几步:
1 使用Swagger,导出API的JSON内容
2 去https://editor.swagger.io/ 转换成YMAL
3 去https://help.aliyun.com/document_detail/88956.html 编辑YMAL文件
4 录入API网关