Betrakta följande stycke kod från filen ApiDefinitionParser.java:
if (apiLine1.contains("openapi")) {
apiJsonString = getFileApiYamlRaml(fileString, outJsonFile);
} else if (apiLine1.contains("RAML")) {
apiJsonString = getFileApiYamlRaml(fileString, outJsonFile);
} else if (apiLine1.contains("{")){
apiJsonString = fileString;
}
Ovanstående kod försöker identifiera syntaxen för api-definitionen genom några strängtester. Det första av dessa tester, apiLine1.contains("openapi"), kommer att evaluera till sant för kompakt json-data där alla data är på samma rad, eftersom denna data kan innehåller delsträngen openapi som vi letar efter, t.ex. som "openapi":"3.0.3".
Ändra filändelsen till .json för nedanstående fil och provkör.
Detta kommer att resultera i att filen output.json produceras i aktuell katalog, eftersom metoden felaktigt klassificerar innehållet i filen som YAML RAML och inte Json som den borde. I övrigt har jag inte studerat returvärdet från ovanstående metod när man gör anropet.
What did you expect?
Att filen output.jsoninte produceras av metoden ApiDefinitionParser.getApiJsonString.
Contact Details
jonas.ostlund@arbetsformedlingen.se
What happened?
Betrakta följande stycke kod från filen
ApiDefinitionParser.java
:Ovanstående kod försöker identifiera syntaxen för api-definitionen genom några strängtester. Det första av dessa tester,
apiLine1.contains("openapi")
, kommer att evaluera till sant för kompakt json-data där alla data är på samma rad, eftersom denna data kan innehåller delsträngenopenapi
som vi letar efter, t.ex. som"openapi":"3.0.3"
.Ändra filändelsen till
.json
för nedanstående fil och provkör.occupations.txt
Steps To Reproduce
Anropa metoden
ApiDefinitionParser.getApiJsonString
på innehållet från följande fil:occupations.txt
Detta kommer att resultera i att filen
output.json
produceras i aktuell katalog, eftersom metoden felaktigt klassificerar innehållet i filen som YAML RAML och inte Json som den borde. I övrigt har jag inte studerat returvärdet från ovanstående metod när man gör anropet.What did you expect?
Att filen
output.json
inte produceras av metodenApiDefinitionParser.getApiJsonString
.Version
Den här commiten: https://github.com/diggsweden/DCAT-AP-SE-Processor/commit/76c0cdd78140f8cd06335566e2bdd7274b2ae7a0
Optional Screenshots
No response
Relevant log output
No response