我有一个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,用于工作正常的类型,但是Swashback不理解它,所以我的模式不正确(这是我的swagger js客户端不工作)。我认为MapType<&燃气轮机;但是,这似乎只会影响响应对象,因为模式仍然将其视为短GUID。
c.MapType<ShortGuid>(() => new Schema { Type = "string" });
我是否需要一个ISchemaFilter来执行此操作?如果是这样的话,我该如何着手编写它(尝试了多次,但没有成功)