2017-05-16 2 views
0

入力JSONに次のエラーを表示するスワッガーエディタ。スキーマエラーを表示するSwagger Editor:定義から正確に1つではありません

paths./accord/stakeholderMaster/stakeholderLocationDetails.get.parameters[0でのスキーマエラー] は正確に<#/定義/パラメータからのものではない>、<#/定義/ jsonReference>ここ

は私ですJSON、

{ 
    "swagger": "2.0", 
    "info": { 
    "version": "1.0.0", 
    "title": "Title", 
    "description": "description" 
    }, 
    "basePath": "/api", 
    "paths": { 
    "/accord/stakeholderMaster/stakeholderLocationDetails": { 
     "get": { 
     "description": "Returns stakeholder location details", 
     "operationId": "findMovies", 
     "produces": [ 
      "application/json" 
     ], 
     "parameters": [ 
      { 
      "in": "body", 
      "name": "stakeHolderId", 
      "description": "Stakeholder ID", 
      "required": true, 
      "type": "integer", 
      "schema": { 
       "$ref": "#/definitions/stakeHolder" 
      } 
      } 
     ], 
     "responses": { 
      "200": { 
      "description": "Successful operation", 
      "schema": { 
       "$ref": "#/definitions/stakeHolder" 
      } 
      } 
     } 
     } 
    } 
    }, 
    "definitions": { 
    "stakeHolder": { 
     "type": "object", 
     "properties": { 
     "stakeHolderId": { 
      "type": "integer" 
     }, 
     "chartTerm": { 
      "type": "array", 
      "items": { 
      "type": "object", 
      "properties": { 
       "label": { 
       "type": "string" 
       }, 
       "value": { 
       "type": "string" 
       } 
      } 
      } 
     }, 
     "chartContent": { 
      "type": "object", 
      "properties": { 
      "countSeriesOne": { 
       "type": "array", 
       "items": { 
       "type": "integer" 
       } 
      }, 
      "nameSeriesOne": { 
       "type": "array", 
       "items": { 
       "type": "string" 
       } 
      }, 
      "chartLimit": { 
       "type": "integer" 
      }, 
      "receivableChartTerm": { 
       "type": "integer" 
      }, 
      "payableChartTerm": { 
       "type": "integer" 
      }, 
      "chartTerm": { 
       "type": "integer" 
      }, 
      "urlList": { 
       "type": "array", 
       "items": { 
       "type": "string" 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
} 

答えて

2

エラーがパラメータ定義でintypeschemaキーワードの間違った組み合わせによって引き起こされます。

まず、操作はGETですが、要求本体("in": "body"パラメータ)があります。 GET does not have defined semanticsに身体をリクエストしてください。

私はstakeHolderIdがパスパラメータのいずれかであると考えられると思います。

GET /.../stakeholderLocationDetails/{stakeHolderId} 

またはクエリパラメータ:

GET /.../stakeholderLocationDetails?stakeHolderId=12345 

ので、パラメータが代わりに"in": "body""in": "path"または"in": "query"でなければなりません。パスパラメータの場合は、パラメータ名:"/accord/stakeholderMaster/stakeholderLocationDetails/{stakeHolderId}"を含むパスも変更します。クエリパラメータの場合は、パスをそのままにします(クエリパラメータはパスに含まれません)。

また、schemaをパラメータ定義から削除します。パスとクエリのパラメータはtypeのみを使用します。 schemaキーワードはボディパラメーターにのみ使用されます。

さらに詳しい情報:http://swagger.io/docs/specification/describing-parameters/

+0

はどうもありがとうございました。まさに私が望んでいたもの。 – shafeequemat

関連する問題