Skip to content

Missing model types cause a NullPointerException #1267

@bedag-moo

Description

@bedag-moo

If a parameter type refers to a missing model:

"operations" : [ {
  "method" : "POST",
  "nickname" : "updateIssue",
  "type" : "Issue",
  "parameters" : [ {
    "type" : "UUID",
    "paramType" : "path",
    "name" : "id",
    "required" : true
  }, {
    "type" : "IssueEditCommand",
    "paramType" : "body",
    "name" : "issue",
    "required" : true
  } ],
  "summary" : "Updates an existing issue."
} ]

Code generation fails with a NullPointerException:

java.lang.NullPointerException
        at io.swagger.models.properties.RefProperty.get$ref(RefProperty.java:53)
        at io.swagger.codegen.DefaultCodegen.getSwaggerType(DefaultCodegen.java:470)
        at io.swagger.codegen.languages.JavaClientCodegen.getSwaggerType(JavaClientCodegen.java:280)
        at io.swagger.codegen.DefaultCodegen.fromProperty(DefaultCodegen.java:626)
        at io.swagger.codegen.DefaultCodegen.fromParameter(DefaultCodegen.java:1051)
        at io.swagger.codegen.DefaultCodegen.fromOperation(DefaultCodegen.java:880)
        at ch.bedag.eng.various.rcg.SimpleJavaClientCodegen.fromOperation(SimpleJavaClientCodegen.java:29)
        at io.swagger.codegen.DefaultGenerator.processOperation(DefaultGenerator.java:448)
        at io.swagger.codegen.DefaultGenerator.processPaths(DefaultGenerator.java:401)
        at io.swagger.codegen.DefaultGenerator.generate(DefaultGenerator.java:170)

Ideally, the exception message would identify the problematic operation, so we don't have to debug the maven plugin to find out where the swagger documentation is incomplete.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions