swagger-api / swagger-api/swagger-codegen
Unrecognized token 'openapi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 17.8k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
Using Micronaut application the swagger specification is generated as YAML file and can be access using http://localhost:8080/swagger/fete-bird-api-gateway-0.0.yml

https://micronaut-projects.github.io/micronaut-openapi/latest/guide/
I have downloaded the swagger-codegen-cli-2.4.27.jar and swagger-codegen-cli-3.0.34.jar and running the below command
swagger-codegen-cli-2.4.27.jar
java -jar tools/swagger-codegen-cli-2.4.27.jar generate \
-i http://localhost:8080/swagger/fete-bird-api-gateway-0.0.yml \
-l typescript-angular \
-o /libs/service/src/lib/swagger-specification \
-Dmodels -DmodelDocs=false \
-c tools/angular-swagger-option.json
Exception from the above version
[main] INFO io.swagger.parser.Swagger20Parser - reading from http://localhost:8080/swagger/fete-bird-api-gateway-0.0.yml
[main] INFO io.swagger.parser.Swagger20Parser - reading from http://localhost:8080/swagger/fete-bird-api-gateway-0.0.yml
[main] ERROR io.swagger.parser.SwaggerCompatConverter - failed to read resource listing
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'openapi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (StringReader); line: 1, column: 8]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2391)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:745)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:2961)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:2002)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:802)
at com.fasterxml.jackson.databind.ObjectMapper._readTreeAndClose(ObjectMapper.java:4703)
at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:3076)
at io.swagger.parser.SwaggerCompatConverter.readResourceListing(SwaggerCompatConverter.java:193)
at io.swagger.parser.SwaggerCompatConverter.read(SwaggerCompatConverter.java:122)
at io.swagger.parser.SwaggerParser.read(SwaggerParser.java:105)
at io.swagger.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:450)
at io.swagger.codegen.cmd.Generate.run(Generate.java:305)
at io.swagger.codegen.SwaggerCodegen.main(SwaggerCodegen.java:35)
[main] WARN io.swagger.codegen.ignore.CodegenIgnoreProcessor - Output directory does not exist, or is inaccessible. No file (.swagger-codegen-ignore) will be evaluated.
Exception in thread "main" java.lang.RuntimeException: missing swagger input or config!
at io.swagger.codegen.DefaultGenerator.generate(DefaultGenerator.java:766)
at io.swagger.codegen.cmd.Generate.run(Generate.java:307)
at io.swagger.codegen.SwaggerCodegen.main(SwaggerCodegen.java:35)
swagger-codegen-cli-3.0.34.jar
java -jar tools/swagger-codegen-cli-2.4.27.jar generate \
-i http://localhost:8080/swagger/fete-bird-api-gateway-0.0.yml \
-l typescript-angular \
-o /libs/service/src/lib/swagger-specification \
-Dmodels -DmodelDocs=false \
-c tools/angular-swagger-option.json
Exception
11:23:33.131 [Thread-0] WARN i.s.c.v.i.CodegenIgnoreProcessor - Output directory does not exist, or is inaccessible. No file (.swagger-codegen-ignore) will be evaluated.
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.189 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.190 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.190 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.204 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.204 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.204 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.204 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.204 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.204 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.204 [Thread-0] WARN i.s.c.v.g.t.AbstractTypeScriptClientCodegen - Object (model name matches existing language type) cannot be used as a model name. Renamed to ModelObject
11:23:33.257 [Thread-0] INFO i.s.codegen.v3.AbstractGenerator - writing file /libs/service/src/lib/swagger-specification/model/activeDates.ts
Exception in thread "Thread-0" java.lang.RuntimeException: Could not generate model 'ActiveDates'
at io.swagger.codegen.v3.DefaultGenerator.generateModels(DefaultGenerator.java:451)
at io.swagger.codegen.v3.DefaultGenerator.generate(DefaultGenerator.java:782)
at io.swagger.codegen.v3.cli.cmd.Generate.run(Generate.java:388)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.FileNotFoundException: /libs/service/src/lib/swagger-specification/model/activeDates.ts (No such file or directory)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:293)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:184)
at io.swagger.codegen.v3.AbstractGenerator.writeToFile(AbstractGenerator.java:32)
at io.swagger.codegen.v3.DefaultGenerator.processTemplateToFile(DefaultGenerator.java:799)
at io.swagger.codegen.v3.DefaultGenerator.generateModels(DefaultGenerator.java:438)
Using Oracle Open JDK 17.
Can we create swagger specification for angular application using the YAML file? because micronaut generates YAML for swagger specification
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the two swagger-codegen-cli commands, the Micronaut YAML URL, and tools/angular-swagger-option.json. Reproduce the parser error with 2.4.27 and the output-path failure with 3.0.34 using a writable output directory. Done means documenting which failure is caused by the input format and which by the output path, with a confirmed Angular generation result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, java, typescript
- Domain
- api, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100