当前位置: 首页 > 知识库问答 >
问题:

API网关中的“导出为大摇大摆”和“导出为大摇大摆邮差”缺少“参数”对象

韦棋
2023-03-14

我有一个API网关endpoint(/item/{itemId}),其中有一个路径参数'itemId'。下面是我用来在API网关中创建endpoint的招摇过市定义。

{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "sample-postman-import"
  },
  "host": "example.com",
  "basePath": "/api",
  "schemes": ["https"],
  "paths": {
    "/item/{itemId}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "200 response"
            }
          }
      }
    }
  }

部署API后,当我将其导出为swagger定义时,导出的定义缺少“参数”对象,使其成为一个不完整的swagger文件。我也看到过同样的问题

  1. 已尝试从UI导出,如中所示https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-export-api.html
  2. 使用javascript aws sdk中的getExport API调用https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/APIGateway.html#getExport-财产

以下是导出的外观:

{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "sample-postman-import_old"
  },
  "host": "example.com",
  "basePath": "/api",
  "schemes": ["https"],
  "paths": {
    "/item/{itemId}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "200 response"
            }
          }
      }
    }
  }
}

共有1个答案

长孙和悦
2023-03-14

当我用Terraform创建API网关时,我也遇到了同样的问题。在AWS UI上显示了参数,但当我通过AWS CLI使用AWS apigateway get method命令请求方法信息时,未提供参数。因此,请确保已按需要设置“requestParameters”,如果未设置,请通过CLI或Terraform进行设置。

 类似资料:
  • 我有一个java项目(tomcat webapp)和一些REST Api。我想为他们生成大摇大摆的文档。我从本教程(github)开始。我没有maven我们使用蚂蚁任务。我加入了swagger-annotations-1.5.0。jar和所有随swagger jaxrs jar 1.5.0版本附带的jar(如果有用的话,我可以包括一个完整的列表),我已经注释了一些方法,我有一个如下的配置类: }

  • 我想从spring boot 2中切换到Micronaut框架。而我也在为那些大摇大摆的场景而挣扎。 在spring boot 2项目中,我有以下依赖项: 和swaggreconfig.class: 它可以很好地启动swagger-ui和spring boot 2应用程序。 我应该向maven添加哪些依赖项,我应该创建哪些类来为Micronaut项目获得相同的结果?

  • 我们在我们的泽西应用程序中使用了@Role允许注释来限制用户对应用编程接口某些部分的访问。我们如何在SwaggerUI中显示这些信息? 到目前为止,我已经用@ApiOperation注释了方法以显示in/out参数,并尝试使用@Authorization/@AuthorizationScope,但我只为我们不使用的oauth2显示了它。最接近out case的是ApiKeyAuthDefiniti

  • 理想情况下,我们将有一个显示所有标记为public的控制器/方法的大摇大摆的页面,以及另一个显示所有endpoint的密码安全endpoint。这可能吗?

  • 有没有人用spring-data-rest配置了swagger。我知道swagger有DocumentationConfig类,它扫描所有spring-mvc请求映射。但是,如何将其用于spring-data-rest,因为没有定义显式的请求映射。非常感谢在这方面的任何帮助。此外,我还想知道,是否有其他支持Spring-Data-REST的文档框架。