截至目前,Web api 应用程序针对 405 - 方法不允许错误返回以下响应正文。我正在尝试更改响应正文,但我不知道如何使用委托处理程序、ApiControllerActionSelector 或过滤器。谁能帮我捕获服务器端的 405 错误?
{
message: "The requested resource does not support http method 'GET'."
}
注意:我的 api 控制器具有 [RoutePrefix] 值。
你可以使用委托处理程序 http://www.asp.net/web-api/overview/advanced/http-message-handlers捕获传出响应并覆盖其行为,如下所示。
public class MethodNotAllowedDelegatingHandler : DelegatingHandler
{
async protected override Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage response = await base.SendAsync(request, cancellationToken);
if (response.StatusCode == HttpStatusCode.MethodNotAllowed)
{
// adjust your response here as needed...
}
return response;
}
}
在 Global.asax 中...
config.MessageHandlers.Add(new MethodNotAllowedDelegatingHandler());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)