繁体   English   中英

覆盖 404 在 Asp.Net 核心 Web API 中找不到

[英]Override 404 Not found in Asp.Net core Web API

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

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

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

上面的代码是 WebApiConfig 文件的内容,在 asp.net core 中不再需要。 我应该怎么做才能使用?

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

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

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

Asp.net Core Web API提供了多种处理异常的方法。 中间件似乎是处理它的最佳方法。
您可以通过本文的示例阅读方法。

https://code-maze.com/global-error-handling-aspnetcore/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM