Swashbuckle MapType <type>不适用于参数

时间:2018-08-29 02:26:28

标签: c# swagger swagger-ui swashbuckle swashbuckle.examples

我有一个使用ShortGuid类作为参数的API端点,例如:

[HttpGet("api/endpoint")]
public async Task<IActionResult> GetTablesAsync(ShortGuid id){}

生成以下定义:

"parameters":[
    {
        "name":"guid",
        "in":"query",
        "required":false,
        "type":"string",
        "format":"uuid"
    },
    {
        "name":"value",
        "in":"query",
        "required":false,
        "type":"string"
    }
],

我需要将该参数视为字符串,而不是ShortGuid对象。我已经有一个可以正常工作的类型的JsonConverter,但是Swashbuckle无法理解它,因此我的架构不正确(并且我的swagger-js客户端不起作用)。我以为MapType <>可以工作,但是似乎只影响响应对象,因为架构仍将其视为ShortGuid。

c.MapType<ShortGuid>(() => new Schema { Type = "string" });

我需要ISchemaFilter来做到这一点吗?如果是这样,我该如何写(尝试了多次尝试但没有成功)

0 个答案:

没有答案