Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swagger |通过maven命令将YAML转换为JSON_Maven_Yaml_Swagger - Fatal编程技术网

Swagger |通过maven命令将YAML转换为JSON

Swagger |通过maven命令将YAML转换为JSON,maven,yaml,swagger,Maven,Yaml,Swagger,是否有任何方法可以向现有的pom.xml文件中添加一个可以将YAML转换为JSON的依赖项?(包括在YAML不正确的情况下进行验证) 我正在寻找一些可以进行相同转换(或类似转换)的东西(当你点击File->convert to JSON时) 但我找不到任何maven依赖项可以做这样的事情 谢谢你的进步 可以将OpenAPI/Swagger定义从YAML转换为JSON,反之亦然。将插件版本2.x用于swagger:'2.0'定义和v。3.x代表openapi:3.0.0定义 该插件自动解析外部$r

是否有任何方法可以向现有的pom.xml文件中添加一个可以将YAML转换为JSON的依赖项?(包括在YAML不正确的情况下进行验证)

我正在寻找一些可以进行相同转换(或类似转换)的东西(当你点击File->convert to JSON时)

但我找不到任何maven依赖项可以做这样的事情

谢谢你的进步

可以将OpenAPI/Swagger定义从YAML转换为JSON,反之亦然。将插件版本2.x用于
swagger:'2.0'
定义和v。3.x代表
openapi:3.0.0
定义

该插件自动解析外部
$ref
引用并生成单个输出文件

OpenAPI 2.0/Codegen 2.x的示例:


昂首阔步
swagger codegen maven插件
2.4.8
转换
产生资源
生成
https://petstore.swagger.io/v2/swagger.yaml
规格
大摇大摆
petstore.json
OpenAPI 3.0/Codegen 3.x的示例:


io.swagger.codegen.v3
swagger codegen maven插件
3.0.11
转换
产生资源
生成
https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/uspto.yaml
openapi
规格
uspto.json

除了Helen的答案,我还发现了另一个可以生成多YAML的插件

            <plugin>
            <groupId>com.github.ngeor</groupId>
            <artifactId>yak4j-json-yaml-converter-maven-plugin</artifactId>
            <version>0.0.4</version>
            <executions>
                <execution>
                    <id>yaml2json</id>
                    <goals>
                        <goal>yaml2json</goal>
                    </goals>
                    <configuration>
                        <sourceDirectory>${basedir}/target/merged-swagger</sourceDirectory>
                        <includes>
                            <include>*.yaml</include>
                        </includes>
                        <outputDirectory>target/json</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>

com.github.ngeor
yak4j json yaml转换器maven插件
0.0.4
yaml2json
yaml2json
${basedir}/target/merged-swagger
*亚姆先生
目标/json

非常感谢您的回答,我尝试了上面的插件,它成功了!:)。我想将YAML文件转换为JSON的原因是openapi生成器不支持YAML别名。所以,如果您的YAML包含别名,这个答案将不起作用。@AdrianPronk我认为Swagger Codegen的解析器支持YAML锚/别名。不确定openapi-generator。此工具也不处理YAML别名。您需要确保/target/merged swagge路径根据您的目标构建路径(swagger放置的位置)进行更改,并且target/json是插件构建后json的位置