we are trying to write a code snippet in Node.js where it has to download the yaml from the given http URL
which will be provided as input from UI and trying to generate the java classes using OpenAPI-generator-server, but here the issue as we are downloading the file with
fetch() and capturing the response.text(), the yaml is not coming in proper format, so when we are trying to parse it, it is throwing the
“com.fasterxml.jackson.core.JsonParseException: Unexpected character (‘<‘”, can you please suggest us how to get the yaml with proper format ?
enter image description here
Error Response :
exec error: Error: Command failed: openapi-generator-cli generate -i C:RajuNodeTestopenapi-generator-serverapi-definition.yaml -g spring -o C:RajuNodeTestopenapi-generator-serverSalesProduct-generated-code
[main] ERROR i.s.parser.SwaggerCompatConverter – failed to read resource listing
com.fasterxml.jackson.core.JsonParseException: Unexpected character (‘<‘ (code 60)): expected a valid value (JSON String, Number, Array, Object or token ‘null’, ‘true’ or ‘false’)
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION
disabled); line: 7, column: 1]
at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2643)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:685)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:2055)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:780)
at com.fasterxml.jackson.databind.ObjectMapper._readTreeAndClose(ObjectMapper.java:4934)
at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:3280)
at io.swagger.parser.SwaggerCompatConverter.readResourceListing(SwaggerCompatConverter.java:209)
at io.swagger.parser.SwaggerCompatConverter.read(SwaggerCompatConverter.java:122)
at io.swagger.parser.SwaggerCompatConverter.readWithInfo(SwaggerCompatConverter.java:93)
at io.swagger.parser.SwaggerParser.readWithInfo(SwaggerParser.java:45)
at io.swagger.v3.parser.converter.SwaggerConverter.readLocation(SwaggerConverter.java:83)
at io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:16)
at org.openapitools.codegen.config.CodegenConfigurator.toContext(CodegenConfigurator.java:686)
at org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:744)
at org.openapitools.codegen.cmd.Generate.execute(Generate.java:527)
at org.openapitools.codegen.cmd.OpenApiGeneratorCommand.run(OpenApiGeneratorCommand.java:32)
at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:66)
[main] ERROR i.s.parser.SwaggerCompatConverter – failed to read resource listing
com.fasterxml.jackson.core.JsonParseException: Unexpected character (‘<‘ (code 60)): expected a valid value (JSON String, Number, Array, Object or token ‘null’, ‘true’ or ‘false’)
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION
disabled); line: 7, column: 1]
at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2643)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:685)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:2055)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:780)
at com.fasterxml.jackson.databind.ObjectMapper._readTreeAndClose(ObjectMapper.java:4934)
at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:3280)
at io.swagger.parser.SwaggerCompatConverter.readResourceListing(SwaggerCompatConverter.java:209)
at io.swagger.parser.SwaggerCompatConverter.read(SwaggerCompatConverter.java:122)
at io.swagger.parser.SwaggerCompatConverter.readWithInfo(SwaggerCompatConverter.java:93)
at io.swagger.parser.SwaggerParser.readWithInfo(SwaggerParser.java:45)
at io.swagger.v3.parser.converter.SwaggerConverter.readLocation(SwaggerConverter.java:83)
at io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:16)
at org.openapitools.codegen.config.CodegenConfigurator.toContext(CodegenConfigurator.java:686)
at org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:744)
at org.openapitools.codegen.cmd.Generate.execute(Generate.java:527)
at org.openapitools.codegen.cmd.OpenApiGeneratorCommand.run(OpenApiGeneratorCommand.java:32)
at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:66)
we should be able to download the yaml with proper format from the given http URL(input from UI) and generate the java classes using OpenAPI-generator-server.
CHAYA RAJU is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.