Swashbuckle MapType <Type>не работает с параметрами - PullRequest
0 голосов
/ 29 августа 2018

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

...