Swagger + AWS API网关:空基本路径不起作用

时间:2017-09-13 14:36:42

标签: api amazon-web-services yaml swagger aws-api-gateway

我正在使用Swagger和AWS API Gateway为我的项目生成API,

我做了什么:

  • 在Swagger: 我定义了路径:

    paths:
        /v1/shop/list/{petID}:
        ...
        /v2/shop/list/{petID}:
        ...
    

    我跳过了basePath,并在Swagger编辑器中双重检查了yaml文件。一切都很好,并纠正。我也在本地调用API,它工作正常。

  • 在AWS API Gateway中,我创建了一个API,并使用Swagger Hub上传Swagger yaml。然后我将API部署到舞台,让我们说“dev”

问题:我打开AWS API Gateway生成的API网址

https://xxxxxxxxxxx.execute-api.eu-west-1.amazonaws.com/dev/v1/shop/list/1

https://xxxxxxxxxxx.execute-api.eu-west-1.amazonaws.com/dev/v2/shop/list/1

我收到了错误:

  

不能GET / v1 / v1 / shop / list / 1

     

不能GET / v1 / v2 / shop / list / 1

如何将“/ v1 /”添加到路径中?

任何遇到此问题的人,请帮助我。

1 个答案:

答案 0 :(得分:0)

将Swagger yaml上传到AWS API Gateway时Swagger Hub出现的问题。它使用" / v1 / v1"自动生成错误的端点。我的解决方案是使用更正的端点更新端点。