【发布时间】:2020-06-30 13:23:08
【问题描述】:
我有一个特定的案例 - 我正在构建一个可以获取动态请求有效负载的 Azure Function 端点,在执行该函数后,它会获取请求正文,并根据存储在存储中某处的正确 JSON 架构对其进行验证。 架构是根据 URL 参数选择的。
这是函数的sn-p:
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(PublishResult))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(PublishResult))]
[FunctionName("Publish")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = "publish/{eventType}")] HttpRequest req,
[Blob("storage/{eventType}.json", FileAccess.Read)] Stream validationSchema,
string eventType, ExecutionContext ctx)
{
JObject jResult;
(isValid, error, jResult) = await ValidateRequestObject(req, eventType, validationSchema);
if (!isValid)
{
_log.LogWarning("Invalid object. {Id}, {ObjectError}", id, error);
return new BadRequestObjectResult(new PublishResult(id, error));
}
// function logic
}
所以我的问题是我想配置 Swashbuckle,以便它根据我拥有的这些 JSON 模式生成不同的请求正文。我不知道如何告诉 Swashbuckle 为此使用我自己的自定义 JSON 模式。
我知道它可能应该通过实现 IOperationFilter 来完成,但我无法真正做到。 我发现很少有类似的案例,但不是我正在寻找的。p>
我们将不胜感激!
【问题讨论】:
标签: c# azure function swagger swashbuckle