如何为所有API控制器禁用状态代码页中间件?

时间:2018-11-09 10:17:40

标签: asp.net-core asp.net-core-2.1

状态代码页中间件非常适合为所有HTML页面设置常见错误页面。但是,由于Web API返回自己的错误响应,因此不应在API控制器中启用中间件。如何在所有具有ApiControllerAttribute的控制器中禁用状态代码页中间件?

1 个答案:

答案 0 :(得分:1)

对于运行UseStatusCodePages以外的API,您可以尝试配置中间件,如下所示:

app.MapWhen(
    httpcontext =>
    {
        return !httpcontext.Request.Path.Value.StartsWith("/api");
    },
    subApp =>
    {
        subApp.UseStatusCodePages();
    });