maven - 在 swagger maven 插件配置中包含信息对象

标签 maven swagger openapi swagger-maven-plugin

我在 swagger 输出 json 文件中包含信息对象时遇到问题。我正在使用 https://github.com/swagger-api/swagger-core 中的 swagger-maven-plugin 。这是我尝试过的...

  1. 我尝试在我的 pom.xml 中包含一个信息对象,如下所示...

            <plugin>
            <groupId>io.swagger.core.v3</groupId>
            <artifactId>swagger-maven-plugin</artifactId>
            <version>2.0.9</version>
            <configuration>
                <outputFileName>openapi</outputFileName>
                <outputPath>${project.build.directory}/openapi-json</outputPath>
                <outputFormat>JSONANDYAML</outputFormat>
                <resourcePackages>
                    <package>packageName</package>
                </resourcePackages>
                <info>
                    <version>
                        1.0
                    </version>
                    <title>
                        Swagger Pet Sample App Config File
                    </title>
                    <description>
                    This is a sample server Petstore server.  You can find out more about Swagger.                          
                    </description>
                    <termsOfService>http://swagger.io/terms/
                    </termsOfService>
                    <license>
                        <name>
                            Apache2.0
                        </name>
                        <url>
                            http://www.apache.org/licenses/LICENSE-2.0.html
                        </url>
                    </license>  
                    <contact>
                        <email>
                            <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ddbab8b2afbab89dbcb2b1f3beb2b0" rel="noreferrer noopener nofollow">[email protected]</a>
                        </email>
                    </contact>
                </info>
                <prettyPrint>TRUE</prettyPrint>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>resolve</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    

我还尝试在我的路径中添加 openapi-configuration.yaml 文件。该文件看起来像这样。我从插件存储库自述文件页面复制了此文件,因此内容与上面的第一种方法不同。

    resourcePackages:
- packageName
prettyPrint: true
cacheTTL: 0
openAPI:
  info:
    version: '1.0'
    title: Swagger Pet Sample App Config File
    description: 'This is a sample server Petstore server.  You can find out more
      about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net,
      #swagger](http://swagger.io/irc/).  For this sample, you can use the api key
      `special-key` to test the authorizat ion filters.'
    termsOfService: http://swagger.io/terms/
    contact:
      email: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2c4d5c4558494d416c5f5b4d4b4b495e024543" rel="noreferrer noopener nofollow">[email protected]</a>
    license:
      name: Apache 2.0
      url: http://www.apache.org/licenses/LICENSE-2.0.html

这两种方法都不起作用。

我错过了什么?干杯。

最佳答案


更新 我的工作如下...... 在我的 pom.xml 中...

            <plugin>
            <groupId>io.swagger.core.v3</groupId>
            <artifactId>swagger-maven-plugin</artifactId>
            <version>2.0.9</version>                
            <configuration>
                <outputFileName>openapi</outputFileName>
                <outputPath>${project.build.directory}/openapi-json</outputPath>
                <outputFormat>JSONANDYAML</outputFormat>
                <resourcePackages>
                    <package>packageName.services</package>
                </resourcePackages>
                <configurationFilePath>${project.basedir}/openapi.yaml</configurationFilePath>              
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>resolve</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

然后在单独的配置 YAML 文件中...

  openAPI:
  info:
    version: '1.0'
    title: API Documentation
    description: 'This is documentation for the Foosite API. You can find out more about FooSite at FooSite.org.'
    termsOfService: http://foosite.org/terms/
    license:
      name: Apache2.0
      url: http://www.apache.org/licenses/LICENSE-2.0.html
    contact:
      email: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7c1b19130e1b193c1d1310521f1311" rel="noreferrer noopener nofollow">[email protected]</a>
prettyPrint: true

关于maven - 在 swagger maven 插件配置中包含信息对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58000340/

相关文章:

spring - 如何让 Swagger UI 显示类似的 Spring Boot REST 端点?

swagger - 如何将 swagger 2.0 JSON 文件分解为多个模块

java - 无法访问 org.springframework.context.ConfigurableApplicationContext 类文件

java - Sonar maven 插件在类路径中看不到父类

Swagger:在 Swagger UI 中更改 api 路由

python - 我可以生成 Open API 3 Python Flask 服务器吗?

rest - REST API 具有 `required` 响应属性意味着什么?

spring - logback找不到maven的属性project.build.directory

maven - ANTLR4生成的代码未编译: “cannot override reset()”

google-cloud-platform - GCP API 网关创建失败并出现内部服务器错误