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

是OpenAPI V.3不完整还是转换器错误?

冯开诚
2023-03-14
                File schemaFile = new File(path);
                if (schemaFile.exists() && schemaFile.canRead()) {
                    this.api = MAPPER.readValue(schemaFile, OpenAPI.class);
                }

在对服务的请求中,有十几个属性,其中两个是JSON数组。在我从转换器获得的openapi.json文件中,它们显示为

      "merchantCategoryCode": {
        "type": "array",
        "description": "Merchant Category Codes of the Merchant",
        "items": {
          "type": "string"
        }
      },

那么,是OpenAPI规范缺少了数组定义,还是转换器做错了,我需要用其他东西替换items token?如果是的话,是哪一个?

共有1个答案

杨鸿畅
2023-03-14

我找到了解决办法。最初,我创建了一个ObjectMapper来使用默认构造函数解析OpenAPI JSON dile:

private static final ObjectMapper MAPPER = new ObjectMapper();

这就是我犯这个错误的地方。我已将这一行替换为

private static final ObjectMapper MAPPER = Json.mapper();

所有错误都消失了。显然,io.swagger.v3.core.util.json生成的对象映射器以某种方式配置为处理所有OpenAPI构造。

 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : T-SQL转换与转换 (7个答案) 7年前关闭。 选择什么:或用于日期时间(Microsoft SQL Server)? 我看过MSDN规范。乍一看,似乎没有什么区别,除了语法: CAST的语法: CONVERT的语法: 而且 CAST 是ANSI标准,这使其在不同的数据库平台上都更具可移植性。 问题答案: 有一个可选参数,我建议用代替。它有助于避免混乱

  • 我试图实现一个转换函数操作符,并使用std::is_base_of来限制适用范围,但我遇到了一些问题。 Spurouse和相关函数定义的存在意味着我在实现的基础中遇到了编译器错误(编译器资源管理器;GCC:Clang:

  • 问题内容: 我们计划使用触发器和需要审计的每个表的单独历史表在数据库中引入简单的审计跟踪。 例如考虑表StudentScore,它只有很少的外键(例如StudentID,CourseID)将其链接到相应的父表(Student&Course)。 如果StudentScore需要审核,我们计划创建审核表StudentScoreHistory- 如果修改了StudentScore中的任何行,我们会将旧行

  • 问题内容: 我正在寻找在Spring MVC中绑定和转换数据的最简单方法。如果可能,不进行任何xml配置。 到目前为止,我一直在像这样使用PropertyEditors: 和 很简单:两个转换都在同一个类中定义,并且绑定很简单。如果我想在所有控制器之间进行常规绑定,则仍可以在xml config中添加3行。 但是Spring 3.x引入了一种使用Converters的新方法: 在Spring容器中

  • 我正在寻找在Spring MVC中绑定和转换数据的最简单和最简单的方法。如果可能,不进行任何xml配置。 但是Spring3.x引入了一种新的方法,使用转换器: 在Spring容器中,该系统可用作PropertyEditors的替代方案 所以假设我想使用转换器,因为它是“最新的替代方案”。我必须创建两个转换器: 有了这些缺点,为什么还要使用转换器呢?我是不是漏掉了什么?还有其他我不知道的把戏吗?

  • 那么,该如何决定何时应该 panic! 以及何时应该返回 Result 呢?如果代码 panic,就没有恢复的可能。你可以选择对任何错误场景都调用 panic!,不管是否有可能恢复,不过这样就是你代替调用者决定了这是不可恢复的。选择返回 Result 值的话,就将选择权交给了调用者,而不是代替他们做出决定。调用者可能会选择以符合他们场景的方式尝试恢复,或者也可能干脆就认为 Err 是不可恢复的,所