2016-09-01 1 views
8

闊歩APIの身体パラメータとして文字列の配列を指定します。私の闊歩ファイルでは、私はそれらの線があります。は私が闊歩ベースのAPIに</p> <pre><code>[ "id1", "id2" ] </code></pre> <p>のような文字列の配列を掲載したい

paths: 
    /some_url: 
    post: 
     parameters: 
     - name: ids 
      in: body 
      required: true 

を文字列の配列としてidsの種類を指定するための正しい方法は何ですか?

更新:

仕様によると、次は私のオプションで動作するはずです:

parameters: 
    - in: body 
     description: xxx 
     required: true 
     schema: 
     type: array 
     items: 
      type: string 

https://github.com/Yelp/swagger_spec_validatorは次のようになりれ、それを受け入れ、複雑なエラーの長いリストを返していませんコードの一部は$refです。

答えて

14

文字列の配列の説明は正しいですが、パラメータ定義はnameプロパティが有効でないと紛失します。

はここで完全な作業例です:

swagger: "2.0" 

info: 
    title: A dummy title 
    version: 1.0.0 

paths: 
    /path: 
    post: 
     parameters: 
     - in: body 
      description: xxx 
      required: true 
      name: a name 
      schema: 
      type: array 
      items: 
       type: string 
     responses: 
     default: 
      description: OK 

あなたOpenAPIの(。FKA SWAGGER)のスペックをチェックするオンラインエディタを試してみてください:それはコンテンツだとしてオブジェクトを含む配列についてはhttp://editor.swagger.io/

+0

最新のswagger codegen(2-2-3)では、この構造体がnullポインタ例外を指定することに注意してください。代わりに型への参照を使用する必要があります。 – PeterS

2

を、オブジェクトの定義が可能の定義& $ refでも表されます。 例:

schema: type: array items: $ref: '#/definitions/ObjectSchemaDefinition' definitions: ObjectSchemaDefinition: type: string

1

私は有効なYAMLであるが、生成しようとしたとき、あなたはNPEの例外を与える、アルノーが提供するヘルプとして闊歩の問題を作成しました。あなたは、次のようなオブジェクトを提供する必要があります。

myDataItem: 
    type: object 
    description: A list of values 
    required: 
     - values 
    properties: 
     values: 
     type: array 
     items: 
      type: string 

をそして、(あなたのポストの項目などで)それを参照:参考

schema: 
    $ref: "#/definitions/myDataItem" 

githubの問題:

https://github.com/swagger-api/swagger-codegen/issues/6745

注意:この問題はバージョン2.3.0以降で修正されています。理想的にはそのバージョンにアップグレードしてください。

関連する問題