【问题标题】:Swagger request validation with multiple swagger specifications使用多个 swagger 规范进行 Swagger 请求验证
【发布时间】:2018-08-03 17:34:20
【问题描述】:

我们希望将 Swagger 规范拆分为两个文件。一个包含端点,一个包含类型定义,因为类型定义在多个项目中使用,我们希望避免在多个源位置修复某些内容。

我们正在使用 maven codegen 插件来生成模型和 api,它可以很好地进行拆分。

但是请求验证并没有,因为它无法遵循对类型定义的外部引用。

我们正在使用 swagger-request-validator-springmvc 进行请求验证。不幸的是,只允许使用一种资源,并且它不会像 swagger-codegen 那样将多个规范扩展/合并为一个。

在详细模式下运行 swagger-codegen 时,日志中会显示“合并”的 swagger 规范。有没有办法让 codegen 导出这个合并的规范?

或者还有其他方法可以让请求验证与多个规范文件一起使用吗?

【问题讨论】:

    标签: swagger swagger-codegen


    【解决方案1】:

    在详细模式下运行 swagger-codegen 时,日志中会显示“合并”的 swagger 规范。有没有办法让 codegen 导出这个合并的规范?

    如果我理解正确的话,您在使用 maven 插件时需要 整个 swagger 规范。这通常在插件配置中指定的输出文件夹中生成。

    <plugin>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-codegen-maven-plugin</artifactId>
        <version>${swagger.codegen.maven.plugin.version}</version>
        <executions>
            <execution>
                 <phase>generate-sources</phase>
                 <goals>
                     <goal>generate</goal>
                 </goals>
                 <configuration>
                     ...
                     <output>${project.build.directory}/generated-sources/swagger</output>
                     ...
                 </configuration>
            </execution>
        </executions>
    </plugin>
    

    但是我无法理解你的第二个问题 - 你能详细说明一下吗?

    或者还有其他方法可以让请求验证与多个规范文件一起使用吗?

    【讨论】:

    • 你也没有看懂第一部分。我已经有了招摇规范。它不是由我们编写的。该规范包含多个 yaml 文件,其中在一个“主”文件中导入其他文件。这在通过 maven 生成模型类时工作正常。但是,这在验证请求时不起作用,因为 swagger-request-validator-springmvc 仅将一个文件作为规范,并且在解析规范时似乎不遵循导入。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 2021-02-09
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多