使用多个swagger规范进行Swagger请求验证

时间:2018-02-23 15:50:00

标签: swagger swagger-codegen

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

我们正在使用maven codegen插件来生成模型和api,它可以在分割时正常工作。

然而,请求验证不会,因为它无法跟随对它看起来的类型定义的外部引用。

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

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

或者是否有其他方法可以使用多个规范文件进行请求验证?

1 个答案:

答案 0 :(得分:0)

  

在详细模式下运行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>

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

  

或者是否有其他方法可以使用多个规范文件进行请求验证?