Swagger code generator error with a reusable parameter

257 Views Asked by At

I have a following swagger file (parses fine with the Swagger online editor):

swagger: '2.0'
info:
  title: Sample
  version: 1.1.0

basePath: /base

paths:
  /sample:
    get:
      summary: Gets the samples
      parameters:
        - $ref: '#parameters/reusableParam'
      responses:
        200:
          description: Success
parameters:
  reusableParam:
    in: header
    name: sample-param
    required: true
    type: string
    description: Sample reusable parameter

When I run code generator on it:

java -jar swagger-codegen-cli-2.2.1.jar generate -i swagger.yaml -l java

It fails with an error:

Exception in thread "main" java.lang.NullPointerException
        at io.swagger.codegen.DefaultGenerator.generateParameterId(DefaultGenerator.java:803)
        at io.swagger.codegen.DefaultGenerator.processOperation(DefaultGenerator.java:727)
        at io.swagger.codegen.DefaultGenerator.processPaths(DefaultGenerator.java:688)
        at io.swagger.codegen.DefaultGenerator.generate(DefaultGenerator.java:376)
        at io.swagger.codegen.cmd.Generate.run(Generate.java:223)
        at io.swagger.codegen.SwaggerCodegen.main(SwaggerCodegen.java:36)

Am I doing something wrong in the definition of the reusable parameter?

1

There are 1 best solutions below

0
On BEST ANSWER

There's a typo in your spec:

- $ref: '#parameters/reusableParam'

should be

- $ref: '#/parameters/reusableParam'