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

Swagger注释和Swagger规范2.0

董砚
2023-03-14

我开发了一个带有Swagger注释的REST API。我已经能够展示一个炫耀的ui应用程序的api文档,非常好。

问题:根据我的注释,我试图使用swagger提供的url生成符合该规范的客户端。问题是,它似乎是不兼容的,或者至少,我不知道如何做swagger编辑器读取我的网址,并从那时起,产生客户。但是swagger编辑器向我报告了一些错误...

是否可以将我的带注释的 swagger api 与 swagger 编辑器集成?

谢谢你。

共有3个答案

薛祯
2023-03-14

Swagger编辑器仅用于编辑json或yml格式的swagger规范。它不以任何方式处理swagger注释。然而,在swagger编辑器网站上生成的一些服务器骨架包含注释。注释是一种逆向工程API生成json文件的方式,以便swagger UI可以根据swagger.json文件的公共url路径呈现网页。如果您无论如何都在维护swagger规范json文件,注释并不是真正需要的,您还不如提供原始swagger.json本身,而不是注释生成的json。

至于你的问题,“有可能将你的API与招摇编辑器集成吗?”。。。任何事情都有可能,但我不确定你想如何或为什么要整合它们。

鱼渝
2023-03-14

不确定我是否正确理解了这个问题。如果要在线生成 API 客户端,可以使用 http://generator.swagger.io除了 http://editor.swagger.io)。下面是一个为 Java 生成 API 客户端的示例:

curl -X POST -H "content-type:application/json" -d '{"swaggerUrl":"http://petstore.swagger.io/v2/swagger.json"}' http://generator.swagger.io/api/gen/clients/java
伯鸿达
2023-03-14

这个问题似乎有点令人困惑。

如果您尝试从 REST API Swagger 规范生成客户端,那么您应该查看 Swagger-Codegen 项目。

项目描述:

Swagger-codecen包含一个模板驱动的引擎,通过解析您的Swagger资源声明来生成不同语言的客户端代码。

  • 链接到存储库:https://github.com/swagger-api/swagger-codegen/
  • 官方页面链接:http://swagger.io/swagger-codegen/
 类似资料:
  • 我有一个协议缓冲区定义,其中包括作为消息的一部分。Timestamp消息非常简单,具有以下定义: 因此,gRPC有效负载就像预期的那样,是一个简单的值元组。然而,我还想为同一条消息的REST API生成一些招摇过市的注释,但它似乎将时间戳转换为RFC 3339样式的字符串: 我最近开始使用协议缓冲区和gRPC,所以我不确定这里是否遗漏了什么,但这似乎与gRPC网关实现不一致。为什么REST的格式与

  • 我正在使用从以下依赖项导入的Swagger/OpenAPIV3注释创建应用程序的API描述: 其中一个批注是批注,它接受名为的属性,该属性允许字符串数组: 现在,我想使用在枚举类上构造的自定义方法,该方法返回允许的字符串数组,因此不需要在每次向枚举添加类型时添加该方法。以便我们可以这样使用它: 现在这是无法编译的,因为在执行注释时不知道该方法。是否有这样的解决方案允许在SwaggerV3注释属性值

  • 我正在为一个新endpoint创建一个招摇规范,该endpoint将接收一个作为二进制数据的文件。你会如何在夸张的规范中表达这一点?我将对象视为数据类型,但这似乎不是我要寻找的。过去有人这样做过吗? 据我所知,这个问题不是重复的,因为它专门涉及二进制或“blob”对象类型。

  • 当我访问我的Swagger UIendpoint时,我会看到这个服务的记录良好的条目,包括关于和参数的信息。现在,我试图以类似的方式创建和方法,但遇到了一个问题。 由于我的/请求包含许多表单参数,所以我将它们封装到一个对象中,并用注释该方法。我的表单对象如下所示: 我的方法如下所示: 什么也没做。我尝试将方法签名更改为如下所示: 还是什么都没有。我的问题是,是否有一种方法可以让OpenAPI/Sw

  • 我们希望将我们的swagger规范拆分为两个文件。一个包含endpoint,一个包含类型定义,因为类型定义用于多个项目,我们希望避免在多个源位置修复某些内容。 我们使用maven codegen插件来生成模型和api,它可以很好地进行拆分。 但是,请求验证不会,因为它无法遵循对它所显示的类型定义的外部引用。 我们使用swagger-request-validator-spring MVC进行请求验

  • iam试图验证一些可能包含swagger规范的字符串。我正在尝试使用swagger解析器。 以下代码不起作用。我只收到消息:“[属性不是]类型” swagger规范是从xml文件中读出的。 这个方法是错误的吗?或者。错误消息的含义是什么?我只想知道字符串是否包含JSON格式的有效Swagger规范。 谢谢你的帮助。 更新:问题已解决 据我所知,如果字符串不是json有效的,就会抛出错误。首先我检查