如何在Swagger UI中更改api请求的示例值?

时间:2016-10-05 13:30:20

标签: api swagger swagger-ui

我正在为一个网站制作API,而我正在使用Swagger UI,我目前有一条路线为用户添加路线为"/users/{id}/favorites/"的收藏夹,并且规范中的参数是:< / p>

        "parameters":[
          {
            "in":"path",
            "name":"id",
            "description":"User's Id",
            "required":true,
            "schema":{
              "$ref":"#/definitions/User"
            }
          },
          {
            "in":"body",
            "name":"body",
            "description":"Enter user's id and video id for favorite",
            "required":true,
            "schema":{
              "$ref":"#/definitions/Favorite"
            }
          }
        ],

规范中收藏夹模型的定义如下:

"Favorite":{
  "type":"object",
  "properties":{
    "id":{
      "type":"integer",
      "format": "int64"
    },
    "userId":{
      "$ref":"#/definitions/User/properties/id"
    },
    "videoId":{
      "$ref":"#/definitions/Video/properties/id"
    }
  },
  "xml":{
    "name":"Flag"
  }
}

但是当我走/api路线时,为身体参数显示的示例值是

{
  "id": 0
}

在文档上,它正确显示了几乎正确的请求示例并显示:

{
  "id": 0,
  "userId": 0,
  "videoId": 0
}

如何更改要显示的/api路线的示例值

{
  "userId": 0,
  "videoId": 0
}

作为示例,如何从doc

上的示例中删除id param

1 个答案:

答案 0 :(得分:0)

找到了一种方法,不确定这是否是最好的方法,但我只是更改了定义并使userId为int而不是$ ref,而对于videoId则相同。