小编Pir*_*ode的帖子

Swagger/OpenAPI 路径和 AWS API 中的正则表达式

我在 openapi 路径中遇到正则表达式问题。API中有必需的路径参数,必须是proxy+。问题是当我尝试使用proxy+参数将 openapi 文件导入 AWS API 时,由于正则表达式(路径参数不能有“+”符号)返回错误。

(在发布这个问题之前,我搜索了 StackOverflow 并且当前的帖子没有回答我的问题。我知道路径参数受正则表达式的限制,我正在寻找“代理”-“代理+”和swagger编辑器中错误差异的解决方案和 AWS)

这就是它的样子。

  1. 这段代码在 swagger 编辑器中没有返回错误,但不想在 AWS API 中导入,因为正则表达式:
paths: 
  /test/{tablename}/{proxy+}:
    options:
      parameters:
      - name: "tablename"
        in: "path"
        required: true
        schema:
         type: "string" 
      - name: "proxy+"
        in: "path"
        required: true
        schema:
         type: "string"     
Run Code Online (Sandbox Code Playgroud)

来自 CLI 的 AWS 错误:

无法在路径“/test/{tablename}/{proxy+}”的资源上放置方法“OPTIONS”:指定的映射表达式无效:验证结果:警告:[],错误:[参数名称应与以下正则表达式匹配:^ [a-zA-Z0-9._$-]+$]

  1. 我试图从代理参数中删除“+”,但以这种方式将其保留在路径中:
paths: 
  /test/{tablename}/{proxy+}:
    options:
      parameters:
      - name: "tablename"
        in: "path"
        required: true
        schema:
         type: "string" 
      - name: "proxy"
        in: "path"
        required: true
        schema:
         type: "string"     
Run Code Online (Sandbox Code Playgroud)

在这种情况下,AWS …

swagger aws-api-gateway openapi

5
推荐指数
0
解决办法
1226
查看次数

标签 统计

aws-api-gateway ×1

openapi ×1

swagger ×1