OpenAPI 3.1.0含转义JSON路径的$ref失效,是否仍支持?
OpenAPI 3.1.0版本切换后带JSON路径的
$ref失效问题 将项目切换至OpenAPI 3.1.0版本后,所有包含JSON路径的$ref均无法正常解析,抛出URISyntaxException异常。该配置在OpenAPI 3.0.3版本中可正常运行。
报错信息
java.net.URISyntaxException: Illegal character in fragment at index 46: ./some_folder/API.json#/paths/~1path-in-json~1" at java.net.URI$Parser.fail (URI.java:2976) at java.net.URI$Parser.checkChars (URI.java:3147) at java.net.URI$Parser.parse (URI.java:3191) at java.net.URI.<init> (URI.java:623) at io.swagger.v3.parser.reference.ReferenceUtils.toBaseURI (ReferenceUtils.java:15) at io.swagger.v3.parser.reference.ReferenceVisitor.toBaseURI (ReferenceVisitor.java:65) at io.swagger.v3.parser.reference.ReferenceVisitor.toReference (ReferenceVisitor.java:69) at io.swagger.v3.parser.reference.ReferenceVisitor.resolveRef (ReferenceVisitor.java:205) at io.swagger.v3.parser.reference.ReferenceVisitor.visitPathItem (ReferenceVisitor.java:108)
当前$ref格式
"$ref": "./some_folder/API.json#/paths/~1path-in-json~1"
目标文件对应结构
目标文件API.json中的对应元素结构:
{ "paths" :{ "/path-in-json/" : { ... } } }
使用的插件配置
<plugin> <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> <version>7.8.0</version> </plugin>
请问该特性是否已不再支持?是生成器存在bug还是我遗漏了某些配置?
内容的提问来源于stack exchange,提问作者Kikosha
相关产品推荐
相关产品推荐

