Swagger参数多态性

在Swagger中可以使用多种types定义input参数?

示例:我有使用URL http://localhost/tasks/{taskId}资源的API。 但是每个任务都包含整数id和stringuuid。 我想允许用户通过id或uuid来寻址资源 – 所以http://localhost/tasks/123http://localhost/tasks/51f12dbc-02e7-41a6-ab81-2381caea0176 URL都是有效的。

但是,对于swagger文档( https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#parameter-object )参数对象只能有单一的types

types:必需。 参数的types。 由于该参数不在请求主体处,因此仅限于简单types(即不是对象)。 该值必须是“string”,“数字”,“整数”,“布尔”,“数组”或“文件”之一。

那么如何将inputpath参数描述为string/整数?

在Swagger规范中没有办法定义属于多个types的参数。

在你的情况下,我认为你可以使用string,它可以表示string(例如“51f12dbc-02e7-41a6-ab81-2381caea0176”)和整数(例如“123”)的path参数,服务器应该接收数据正确。