3

Swagger 2.0 を使用して API を定義しようとしています。私のモデルには、オプションの属性を持つオブジェクトがあるため、Swagger タグ「required:false」を挿入しようとしています。

「必須」タグを挿入すると、エディターでエラーが発生し、理由がわかりません..

私の Swagger の定義は次のとおりです。

definitions:
  Error:
    type: object
    properties:
      code:
        type: integer
      message:
        type: string
      fields:
        type: string

これは完全に機能しています。ここで、'message' パラメーター (たとえば) がオプションであることを指定したいと思います。だから私は次のことを試します:

definitions:
  Error:
    type: object
    properties:
      code:
        type: integer
      message:
        type: string
        required: false
      fields:
        type: string

そして今、Swagger Editor でエラーが発生しました。

 Swagger Error
Expected type array but found type boolean

エラーの詳細は次のとおりです。

Details
Object
code: "INVALID_TYPE"
message: "Expected type array but found type boolean"
path: Array [5]
0: "definitions"
1: "Error"
2: "properties"
3: "message"
4: "required"
level: 900
type: "Swagger Error"
description: "Expected type array but found type boolean"
lineNumber: 41

行:

   [40]   message:
   [41]     type: string
   [42]     required: false

誰かが私が間違っていることについて考えていましたか?

4

1 に答える 1

13

コードとフィールドのみが必須の場合は、次のようにすることができます。

definitions:
  Error:
    type: object
    required: [code, fields]
    properties:
      code:
        type: integer
      message:
        type: string
      fields:
        type: string
于 2015-12-31T00:15:21.950 に答える