У меня есть конечная точка API, которая принимает класс ShortGuid в качестве параметра, например:
[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? И если да, то как мне написать его (пробовал несколько попыток, но безуспешно)