OpenAPI 3.1.0 — $ref с путем json с экранированием в нем не работает — так должно быть?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 OpenAPI 3.1.0 — $ref с путем json с экранированием в нем не работает — так должно быть?

Сообщение Anonymous »

Я только что попробовал переключить свой проект на версию OpenAPI 3.1.0 и обнаружил, что любой $ref с путем json в нем завершается с ошибкой

Код: Выделить всё

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. (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". Внутри целевого файла он указывает на элемент:
{
"paths" :{
"/path-in-json/" : {
...
}
}
}
Это отлично работало в версии 3.0.3 и перестало работать, когда я попытался перейти на новую версию. Я использую

Код: Выделить всё

org.openapitools


Подробнее здесь: [url]https://stackoverflow.com/questions/79027906/openapi-3-1-0-ref-with-json-path-with-esaping-in-it-does-not-work-should-it[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»