我有一个使用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来做到这一点吗?如果是这样,我该如何写(尝试了多次尝试但没有成功)