简体   繁体   中英

Swagger code generator error with a reusable parameter

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?

There's a typo in your spec:

- $ref: '#parameters/reusableParam'

should be

- $ref: '#/parameters/reusableParam'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM