阿里云API网关偷懒方式

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


1568702363350.png

3 去Swagger在线编辑器上转成YMAL内容,然后按照API网关要求的格式修改

https://editor.swagger.io/

1568702423236.png

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网关

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容