首页 > 解决方案 > 不会显示多级对象的 Swagger 示例

问题描述

我正在尝试仅为 401 响应状态代码(覆盖默认示例值)显示自定义示例但以下代码由于某种原因不会这样做(默认值保持不变) Status.Code 和 Status.Verbal 也不会设置“代理”对象不会进入内容。

paths:
  /api/Users/Login:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginCredentials'
      responses:
        '200':
          description: Login OK / Agent Object
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestResponse'
              example:
                Content:
                  schema:
                    $ref: '#/components/schemas/Agent'
        '401':
          description: Incorrect credentials
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestResponse'
              example:
                Status:
                  Verbal: Error
                  Code: 1074
                Content: null


components:
  schemas:
    Agent:
      type: object

    RestResponse:
      type: object
      properties:
        Status:
          type: object
          properties:
            Verbal:
              type: string
              example: Success
            Code:
              type: string
              format: int32
              example: 104
        Content:
          type: object
        Exception:
          type: object

    LoginCredentials:
      type: object
      required:
        - UserName
        - Password
      properties:
        UserName:
          type: string
          format: email
          example: user@not.net
        Password:
          type: string
          example: password

我期望看到的响应示例:200:

{
  "Status": {
    "Verbal": "Success",
    "Code": 104
  },
  "Content": "Agent{}"
}

401:

{
  "Status": {
    "Verbal": "Error",
    "Code": 1074
  },
  "Content": null
}

标签: swaggeropenapi

解决方案


推荐阅读