首页 > 解决方案 > 如何根据 Accept 标头中发送的值拒绝 .NET Core API 中的请求?

问题描述

阅读有关如何在 .NET Core API 中为需要我的 API 不支持的格式的响应的请求返回状态代码 406 的信息时,我发现我需要在 AddMvcCore 方法中设置以下选项:

services.AddMvcCore(options =>
{
    options.ReturnHttpNotAcceptable = true;
});

但是,我注意到即使客户端请求不支持的格式,请求也会转发到端点,并且只有在控制器中完成处理后才会返回状态代码 406。

我想知道.NET Core 有没有现成的解决方案,阻塞请求,即返回状态码406,无需执行端点代码。我找到了可以编写中间件来执行此类任务的解决方案,但我真的很想知道框架本身是否内置了替代方案。

标签: c#asp.net-coreasp.net-core-webapiasp.net-core-3.1http-status-code-406

解决方案


推荐阅读