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

从Swagger导入Amazon API网关错误-不采用泛型

壤驷高旻
2023-03-14

我试图通过从Swagger导入创建新的APIGateway,但存在验证错误:

导致问题的特定类是我们的PaginationModel类。

代码模型定义:

public class PaginationModel<T>
{
    public IEnumerable<T> items { get; set; }
    public int offset { get; set; }
    public int totalCount { get; set; }
}

Swagger 文件部分表示特定类型的通用分页模型:

*"PaginationModel[DepartmentUIModel]":{"type":"object","properties":{"items":    {"type":"array","items":{"$ref":"#/definitions/DepartmentUIModel"}},"offset":    {"format":"int32","type":"integer"},"totalCount":{"format":"int32","type":"integer"}}}*

将 Swagger 文件导入 Amazon API Gateway 时出错:

无法为“pagination Model[DepartmentUIModel]”创建模型:模型名称必须是字母数字:pagination Model[DepartmentUIModel]

将'['改为'

除了为所有类型创建特定的分页模型之外,有没有办法让API网关理解Swagger的这个特定输出?

共有1个答案

呼延哲
2023-03-14

fehguy的回答对您更有帮助,但是您从API Gateway得到的特定错误只是我们在Swagger规范中所做的额外验证。

无法为“pagination Model[DepartmentUIModel]”创建模型:模型名称必须是字母数字:pagination Model[DepartmentUIModel]

模型名称必须是字母数字,这意味着它们必须与正则表达式“[a-zA-Z0-9]”匹配

 类似资料:
  • 我正在使用构建一个带有swagger UI的应用程序,并试图将这个swagger文件作为文档部分上传到中。通过这个大摇大摆的UI,我允许用户上传CSV文件进行进一步的数据处理。 我有以下JSON: 当我转到API Gateway-->Documentation-->导入文档并粘贴json时,会出现以下错误: 如何解决以下问题?如果不支持,是否有其他方法来托管swagger UI?

  • 几周来,我一直在与 AWS API Gateway 作斗争。 我的API网关控制台中有一个带有客户端证书和自定义lambda授权器的API的工作版本。 我正在尝试导出到一个 swagger 文件,以作为不同的 API 在同一 AWS 账户中导入,但导入的 API 不起作用。 所有endpoint在具有“测试”功能的“资源”面板中运行良好,但当我尝试部署阶段时,它不起作用。昂首阔步的导入和导出都可以

  • 我在这里尝试api网关验证示例https://github.com/rpgreen/apigateway-validation-demo。我观察到从给定的swagger.json文件中,minItems没有导入到在swagger导入期间创建的模型中。 因此,当您将空数组[]作为输入时,api不会抛出有关数组中最小项目的错误,而是以消息“成功创建订单”作为响应。 当我从API网关控制台UI手动添加时

  • 我正在使用minikube和traefik入口创建一个粘性会话。 因此,我已经完成了kubernetes用户指南提供的traefik的部署。https://docs.traefik.io/user-guide/kubernetes/ 我使用守护程序集部署traefik。因为这是一个小项目,是我第一次使用kubernetes和docker。 这是我的ingress yaml文件 我的服务yaml文件

  • 我正试着用这本手册开始tensorflowhttps://www.tensorflow.org/install/install_windows 所有安装都成功完成,我正在使用python 3.5.2和最新版本的pip,遇到这个错误,有人告诉我应该怎么做吗? 在swig\parth\AppData\Local\Programs\Python35\lib\site-p tensorflow\Pytho

  • 我的代码如下(我怀疑你会需要这一切,但我已经提供了一切): 我通过运行以下命令验证了我确实有一个正常运行的安装: 它抛出了一个错误: 我尝试用标准的解释器以及运行它,但没有成功。