0

構成を介してSettings定義が埋め込まれている次の例があるとします。Thing

definitions:
  Settings:
    properties: 
      foobar:
        type: number 
        format: double
      boofar:
        type: string 
  Thing:
    properties:
      allOf:
        $ref: '#/definitions/Settings'
      name:
        type: string

Thingeditor.swagger.io でPOST するメソッドを定義すると、次のような JSON が構築されます。

{
  settings: {
    foobar: 1,
    boofar: "text here"
  },
  name: "some name"
}

モデル定義をコンポジションで埋め込みたいが、ネストされたプロパティ定義を追加せずに埋め込みたい - これは可能ですか? これは、私が持ちたいJSON構造ですThing:

{
  foobar: 1,
  boofar: "text here",
  name: "some name"
}

これを達成する方法はありますか?

4

1 に答える 1

1

allOfあなたの例は、プロパティのようにコンポジションを実際には使用していません。

allOf定義のルートにあるはずで、スキーマの配列です (参照またはインライン)。

allOfあなたの例に使用する適切な方法は次のとおりです。

swagger: '2.0' 情報: タイトル: API バージョン: 1.0.0

paths: 
  /thing:
    get:
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/Thing'

definitions:
  Settings:
    properties: 
      foobar:
        type: number 
        format: double
      boofar:
        type: string 
  Thing:
    allOf:
      - $ref: '#/definitions/Settings'
      - properties:
          name:
            type: string

SwaggerUI での結果のレンダリング:

ここに画像の説明を入力

于 2016-05-16T18:54:31.527 に答える