【问题标题】:Override 404 Not found in Asp.Net core Web API在 Asp.Net 核心 Web API 中找不到覆盖 404
【发布时间】:2019-08-09 06:07:23
【问题描述】:

我希望在不支持的请求的情况下实现 404 的覆盖,并向消费者提供更有用的消息。

我发现这个Link 以确保在 .net 框架中实现这一点,但是在 .Net 核心中不支持这种方式的配置覆盖。

var constraintResolver = new DefaultInlineConstraintResolver();
constraintResolver.ConstraintMap.Add("rangeWithStatus", 
typeof(RangeWithStatusRouteConstraint));
config.MapHttpAttributeRoutes(constraintResolver);

上面的代码是 WebApiConfig 文件的内容,asp.net 核心不再需要它。我应该使用什么替代方法?

【问题讨论】:

标签: c# .net asp.net-core asp.net-web-api


【解决方案1】:

对于 Web Api,它通常更清洁且更易于使用中间件功能。您基本上可以将所有请求包装在一些允许您处理异常的代码中。可以在这里找到一个例子:

https://blogs.msdn.microsoft.com/brandonh/2017/07/31/using-middleware-to-trap-exceptions-in-asp-net-core/

我使用类似的东西来处理将响应格式化为统一结构以及处理异常并根据特定错误输出不同的文本

【讨论】:

    猜你喜欢
    • 2019-05-18
    • 1970-01-01
    • 2017-12-14
    • 2017-12-31
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    相关资源
    最近更新 更多