ResolveFully fails on internal references when the initial spec is read from a file URL
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 65/100
Direzione di ricerca
Inizia riproducendo resolveFully con una specifica OpenAPI iniziale caricata da un URL file:// e un $ref interno come #/components/pathItems/getPet. Leggi Visitor.readFile() e la gestione circostante degli URI mostrata nello stack trace. Aggiungi un test di regressione e verifica che i riferimenti interni vengano risolti senza la FileNotFoundException.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi,
While testing the new 3.1.0 feature of a pathItem in components, I found that resolveFully is not replacing internal references such as $ref: "#/components/pathItems/getPet" when the initial URL to the spec is a file:// URL. There is an exception in the log like this:
java.io.FileNotFoundException: file:/...../target/test-classes/petstore-3.1.yaml (Aucun fichier ou dossier de ce type)
at java.io.FileInputStream.open0(Native Method) ~[?:?]
at java.io.FileInputStream.open(FileInputStream.java:216) ~[?:?]
at java.io.FileInputStream.<init>(FileInputStream.java:157) ~[?:?]
at java.io.FileInputStream.<init>(FileInputStream.java:111) ~[?:?]
at io.swagger.v3.parser.reference.Visitor.readFile(Visitor.java:66) ~[swagger-parser-v3-2.1.13.jar:2.1.13]
at io.swagger.v3.parser.reference.Visitor.readURI(Visitor.java:84) ~[swagger-parser-v3-2.1.13.jar:2.1.13]
at io.swagger.v3.parser.reference.ReferenceVisitor.parse(ReferenceVisitor.java:279) ~[swagger-parser-v3-2.1.13.jar:2.1.13]
This is true for any internal reference from the initial specification.
The Visitor.readFile() method needs to transform the file URL to a valid path.
I've never contributed to swagger before but I could create a test case and PR for this issue.
- Lingua principale
- Java
- Stelle
- 870
- Fork
- 565
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di swagger-api/swagger-parser
-
InlineModelResolver.uniqueName throws StringIndexOutOfBoundsException for titles starting with a separator (camelCaseFlattenNaming)Forse già presa @arimu1 l’ha presa 54 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
swagger-api/swagger-parser#2386 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
swagger-api/swagger-parser#2168 ·
-
Bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
swagger-api/swagger-parser#2408 ·
-
[Bug]: Discriminator mapping of a oneOf nested in array items gets a null key and is no longer updated after external ref resolution (regression since 2.1.36)Forse già presa @wyhasany l’ha presa 9 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
swagger-api/swagger-parser#2406 · 1 commento ·
-
[Question]: Guidance on jackson-coreutils vulnerabilities in legacy Swagger compatibility dependencyApertaQuestion
Difficoltà 5/5 Più di una settimana Idoneità per principianti 8/100
swagger-api/swagger-parser#2405 ·
Tutte le issue di swagger-api/swagger-parser
Issue simili
-
status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
JabRef/jabref#17546 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
hiero-ledger/hiero-sdk-java#3010 ·
I maintainer di solito rispondono entro 1 giorno
-
Optimize consumer version heatmap aggregation to avoid repeated scansForse già presa @praykaria31 l’ha presa oggi. Apertatype/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Apicurio/apicurio-registry#10662 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
a:false-positive
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
status: waiting-for-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
spring-projects/spring-boot#52347 ·
I maintainer di solito rispondono entro 2 giorni