2016-11-10 3 views
0

/relationships?contact_id=12345と照会され、[{"code": "ABC", "org": "MyOrg"}, ...]のようなリレーションシップオブジェクトのJSON配列を返すHTTP APIのswagger仕様を記述しようとしています。私が持っている以下:Swagger 2.0:「名前の応答に予期しない不足プロパティ」

swagger: '2.0' 
paths: 
    /relationships: 
    get: 
     parameters: 
     - 
      name: contact_id 
      in: query 
      required: true 
      type: integer 
     responses: 
     200: 
      schema: 
      type: array 
      items: 
       - 
       type: object 
       properties: 
        code: 
        type: string 
        org: 
        type: string 

けど(java -jar swagger-codegen-cli.jar generate -i test.swagger -l pythonで)それを使用しようとすると、私はエラーの予想外のセットを取得:

[main] ERROR io.swagger.codegen.DefaultCodegen - String to be sanitized is null. Default to ERROR_UNKNOWN 
[main] ERROR io.swagger.codegen.DefaultCodegen - unexpected missing property for name response 
[main] WARN io.swagger.codegen.DefaultCodegen - skipping invalid property { 
    "type" : "array" 
} 
[main] ERROR io.swagger.codegen.DefaultCodegen - unexpected missing property for name response 
Exception in thread "main" java.lang.RuntimeException: Could not process operation: 
    Tag: default 
    Operation: null 
    Resource: get /relationships 
    Definitions: {} 
    Exception: null 
    at io.swagger.codegen.DefaultGenerator.processOperation(DefaultGenerator.java:720) 
    at io.swagger.codegen.DefaultGenerator.processPaths(DefaultGenerator.java:612) 
    at io.swagger.codegen.DefaultGenerator.generate(DefaultGenerator.java:339) 
    at io.swagger.codegen.cmd.Generate.run(Generate.java:223) 
    at io.swagger.codegen.SwaggerCodegen.main(SwaggerCodegen.java:36) 
Caused by: java.lang.NullPointerException 
    at io.swagger.codegen.DefaultCodegen.fromResponse(DefaultCodegen.java:1646) 
    at io.swagger.codegen.DefaultCodegen.fromOperation(DefaultCodegen.java:1440) 
    at io.swagger.codegen.DefaultGenerator.processOperation(DefaultGenerator.java:668) 
    ... 4 more 

は、私がここで間違って何をやっているの?私は "名前の応答のための予期しない欠けている特性"が何を意味するのかを知らない。

答えて

2

はこれを試してみてください:

swagger: '2.0' 
info: 
    version: 'v0' 
    title: Relationships 
    description: My Relationships API 
paths: 
    /relationships: 
    get: 
     parameters: 
     - 
      name: contact_id 
      in: query 
      required: true 
      type: integer 
     responses: 
     200: 
      description: Ok 
      schema: 
      type: array 
      items: 
       - 
       type: object 
       properties: 
        code: 
        type: string 
        org: 
        type: string 

上部にinfoブロックはhttp://swagger.io/specificationに応じて必要とされます。 200レスポンスにdescriptionフィールドを追加しました。残念ながら、私はSwaggerエラーが常に有用ではないことを発見しました。 :-(

+0

悲しいことに、これらの変更はどちらもエラーに影響しません(私はもともと情報ブロックと説明を持っていましたが、エラーの最小テストケースを示すためにそれらを取り出しました)。 – sil

関連する問題