问题标签 [swagger-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
916 浏览

proxy - Swagger maven build - 下载 swagger-ui/archive/master.tar.gz 时出现 NTLM 问题

我正在尝试使用 Swagger 并尝试在我的机器上下载并运行几个示例,偶然发现以下错误并且无法继续。任何帮助将不胜感激。

我从https://github.com/swagger-api/swagger-samples.git克隆了 git 代码

在命令提示符下我尝试了mvn package tomcat6:run

请注意,我在代理后面,并按照https://maven.apache.org/settings.html#Proxies的指导配置了 maven settings.xml

错误: [INFO] --- download-maven-plugin:1.2.1:wget (swagger-ui) @ swagger-java-cxf-sample --- 下载:https ://github.com/swagger-api/swagger -ui/archive/master.tar.gz 2015 年 6 月 19 日下午 12:20:42 org.apache.maven.wagon.providers.http.httpclient.client.protocol.RequestAuthenticationBase 进程警告:NTLM 身份验证错误:凭据不能用于 NTLM 身份验证:org.apache.maven。 wagon.providers.http.httpclient.auth.UsernamePasswordCredentials org.apache.maven.wagon.authorization.AuthorizationException:未经代理授权,ReasonPhrase:需要代理身份验证。在 org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:936) 在 org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:116) 在 org.apache.maven.wagon .StreamWagon.getIfNewer(StreamWagon.java:88) 在 org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61) 在 com.googlecode.WGet.doGet(WGet.java:293) 在 com.googlecode。得到。

0 投票
2 回答
2354 浏览

maven - How to set overriding models in swagger-maven-plugin 3.1.0

How to set overriding models in swagger-maven-plugin 3.1.0 and Swagger UI 2.0 (or newer versions)?

Recently we've upgraded Swagger UI from 1.2 to 2.0 and swagger-maven-plugin from 2.3 to 3.1.0.

It appears, that swagger-maven-plugin version 3.1.0 is missing the overridingModels option, that was present in version 2.3.

The option enabled us to customize schema description for certain data types, as described in: https://github.com/swagger-api/swagger-core/wiki/overriding-models.

0 投票
1 回答
708 浏览

swagger - 由于 swagger-maven-plugin 生成的格式后缀,Swagger 解析失败

好的,所以我的 Swagger 文档是使用以下方法生成的:

最终产生

我遇到的问题是,当我尝试使用 swagger 提供的 SwaggerLegacyParser 来获取资源列表时,由于 .{format} 是列表的一部分,因此出现错误。即使我尝试点击 /service.json 路径, .{format} 仍然存在。抛出的这个问题是从 JsonSchema 的 doValidate 方法抛出的,消息是

"message" : "string \"/v1/api.{format}\" 不是有效的 URI"

从我的挖掘来看,这是因为 { 和 } 是无效的 URI 字符。此验证在 swagger 解析器附加到版本 1.0.10 的源中的 SwaggerLegacyParser 的第 44 行开始。

输出模板为:

有人对如何提供帮助有想法吗?我的文档是错的还是我使用的解析器错了?

0 投票
2 回答
22799 浏览

java - 使用 Javadocs 生成 Swagger 文档

我想为现有的一组 RESTful API 构建 Swagger 文档。我有以下要求:

  1. 离线生成 Swagger Doc(我使用了 http://kongchen.github.io/swagger-maven-plugin/)。这个插件帮助我在编译期间生成 Swagger 文档。
  2. 阅读现有的 Javadoc,以便在 Swagger 文档中使用它们。

到目前为止,使用上述插件,我能够实现第 1 点。因此,对于现有的 REST 方法:

我能够生成 Swagger 文档。@ApiOperation 和 @ApiResponses 的使用使我的文档看起来很棒。

但是,我的问题是我是否可以使用 Javadocs 而不是让每个开发人员都创建 @ApiOperation 和 @ApiResponses 以便为我的团队节省时间?

0 投票
1 回答
1161 浏览

swagger - swagger-inflector 及其对 x-swagger-router-controller 和 x-swagger-router-model 的使用

我正在使用 swagger-inflector 来设计 API。我正在尝试使用文档中指定的 x-swagger-router-controller 和 x-swagger-router-model ,但它没有按指定工作。

我阅读文档的方式是,如果该类不存在,这些供应商扩展应该创建该类,然后创建一个以“operationId”命名的方法。但是,它们不能按规定工作。(我查看了我认为应该处理这个供应商扩展的代码,看起来应该处理扩展,但是没有按预期创建类。好吧,x-swagger-router-model 生成了所需的类名称,但不是所需的包)。

如果我使用 inflector.yaml 文件并指定 modelPackage 和 controllerPackage,类会在这些包中创建,但我需要更精细地控制用于生成的类的包。我做错了什么,还是坏了?

这是一个例子:

从上面的例子

我没有在 com/example/api/dto 中创建名为 SomeObjectDTO 的模型类。如果在 inflector.yaml 中没有指定 modelPackage,我会在默认包 (io/swagger/...) 中创建一个名为 SomeObject 的模型类。在任何一种情况下生成的模型类名称都是 SomeObject.java

我没有在 com/example/api/controller/subpkg1 中创建名为 MyController 的控制器类。如果在 inflector.yaml 中没有指定 controllerPackage,我会在默认包 (io/swagger/...) 中创建一个名为“MyPathController”的控制器类。在这两种情况下生成的控制器类都是 MyPathController.java。

看起来这是一个错误,或者我错过了一些非常明显的东西。这里有任何指示吗?

0 投票
0 回答
736 浏览

spring - 无法从我的 spring 代码中生成 Swagger json doc

我将 Swagger-UI 安装为独立的,由 nginx 服务器提供服务。

我们有几个微服务,我正在尝试从我们的 spring-boot 应用程序中实现 swagger json。

因此,如果我理解正确,我需要将 swagger-ui 指向我的应用程序的 swagger 端点的 url,以便接收该 json 信息。

我是怎么做到的?

在毕业典礼上:

为我的应用添加了新配置:

并添加到我的一个控制器中:

现在,当我使用以下 url 调用我的应用程序时:

http://localhost:8080/api-docs

我得到:

从这一点开始,我如何生成正确的 json 文件并让我的 ui 指向它:

在此处输入图像描述

只要我在招摇的用户界面中输入任何网址,我就会得到:

我在我的spring客户端中添加了这个来启用cors:

它解决了,但是:如果我重新启动我的 spring 应用程序,我的浏览器会再次显示此错误。如果我使用隐身模式,它会再次起作用..带有本地缓存​​的东西..有什么想法吗?谢谢你。射线。

0 投票
0 回答
486 浏览

java - Swagger-annotation 生成

我在生成带有 swagger 注释的 swagger.json 文件时遇到问题。问题在于生成带有数组的地图。

前任:

我有一个带有字段的@ApiModel:

当它生成时,它看起来像这样:

当我根据生成的 json 使用 swagger-codegen 创建客户端类时,它解析为:

但是数组不存在。

根据我所见,json 应如下所示:

有没有办法让它工作?

我使用:Dropwizard、Jersey2、Swagger、JAX-RS

0 投票
2 回答
50331 浏览

java - 大摇大摆的日期字段与日期时间字段

我正在使用 swagger 来测试我的 rest api,我的实体类的属性之一是一个日期字段,我需要 yyyy-mm-dd 格式的日期,但是 swagger 模型架构将此字段显示为日期时间而不是日期字段,因此它提供带有时间和区域的日期。如何将此日期时间转换为日期字段?

我有一个 java 实体类 TimeEntry.java,它的属性之一是 Date,它看起来像这样。

对于此字段,在 swagger UI 模型架构上,字段日期显示为 "date": "2016-01-08T22:34:22.337Z" 但我需要将其作为 "date":"2016-01-08" 。

我尝试了以下方法:

1.

2.尝试遵循此代码(覆盖 OverrideConvertor 类),但找不到 swagger-core 1.3 版本 mvn 存储库。仅提供 1.5 版本https://github.com/swagger-api/swagger-core/wiki/overriding-models

  1. 显然,他们从 1.5 版本中删除了 OverrideConvertor 类 https://groups.google.com/forum/#!topic/swagger-swaggersocket/ChiknyHZiP4

请帮忙。

0 投票
0 回答
568 浏览

swagger-maven-plugin - 使用 swagger-maven-plugin 跨模块生成文档

我正在尝试使用 swagger-maven-plugin 3.1.0 版来记录现有的 REST API。当前的 maven 项目结构在一个模块中具有 REST API 定义,在另一个模块中具有 API 接口中使用的 bean。

有没有办法在一个模块中配置和运行带有 @Api 类的 swagger-maven-plugin,而 @ApiModel 类是另一个模块?

谢谢!

0 投票
1 回答
3499 浏览

java - swagger-maven-plugin 不会为单个请求映射生成“路径”元素

我有一个简单的端点,我想用 swagger-maven-plugin 处理。生成的 swagger.conf 没有反映单个 @ApiOperations 的正确“路径:”。api 的根是“/api”,我想将 GET 和 PUT 的端点添加到“/api/cluster”。相反,swagger.json 输出的“paths:”子句是“/api”。

这是 .java 源代码,在类上带有 @Api(value="/api") 和 @RequestMapping(value="/api"),入口点带有 @RequestMapping(value = "/cluster"):

swagger-maven-plugin 的 pom.xml 子句如下所示:

生成的 swagger.json 显示一个端点“/api”,其中包含 GET 和 PUT 子句。

最后,我的 swagger-maven-plugin 的 pom.xml 条目: