gpt4 book ai didi

java - Swagger 错误 预期类型为字符串,但发现类型为整数

转载 作者:行者123 更新时间:2023-12-01 11:36:22 26 4
gpt4 key购买 nike

我最近开始使用 swagger 为我们的 RESTful api 生成文档。我使用 yamlbeans-1.09.jar 将 Java DTO 转换为 yaml 文件。一切工作正常,yaml 甚至在 http://www.yamllint.com/ 上正确验证。但仍然在使用 Swagger 接口(interface)进行测试时,它给出了错误“预期类型字符串,但发现类型整数”“没有枚举匹配: 2” 无论我在文件中提到 swagger : 2.0 的地方。

我的示例 yml 文件是:

basePath: /employment
host: api.xxxx.com
schemes:
- https
swagger: 2.0
info:
title: API Doc
description: Description for the info goes here
version: 1.0.0

它总是倾向于在 swagger 版本之前仅给出一个行号错误。任何帮助将不胜感激。

编辑:我已将 swagger 版本定义为 java 代码中的字符串,并按如下所述编写:

HashMap<String, Object> rootElementsForYml = new HashMap<String, Object>();
rootElementsForYml.put(SWAGGER, "2.0");
rootElementsForYml.put(HOST, "api.xxxx.com");
rootElementsForYml.put(BASEPATH, basePath);
rootElementsForYml.put(SCHEMES, new String[]{"https"});

但它仍然没有给出结果并且出现相同的错误。

最佳答案

这是因为版本值是字符串而不是数字。仅指定 2.0 就会被解释为数字。用像 "2.0" 这样的引号括起来,它就可以正常工作。

关于java - Swagger 错误 预期类型为字符串,但发现类型为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29948280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com