gpt4 book ai didi

asp.net - Web API 2 - ApiController.InternalServerError() 返回 HTTP 400 状态代码

转载 作者:行者123 更新时间:2023-12-04 10:39:13 25 4
gpt4 key购买 nike

此 Web API 操作返回 HTTP 500(内部服务器错误)状态代码:

public IHttpActionResult Post()
{
return InternalServerError();
}

但此操作会返回 HTTP 400(错误请求)状态代码:
public IHttpActionResult Post()
{
return InternalServerError(new Exception());
}

我希望两个操作都返回 500 状态代码,第二个操作将一些错误的详细信息放在响应正文中。

我的第一个想法是这是一个错误,但我想获得一些其他输入。为什么应该在第二个操作中返回 400 而不是 500 有什么好的理由吗?

更新:

关于此方法的文档如下:

Creates an System.Web.Http.Results.ExceptionResult (500 Internal Server Error) with the specified exception.



我越来越觉得这是一个错误。

最佳答案

是的,这是一个已知问题,已在 Web API 2 发布后修复...您可以使用以下解决方法来解决此问题...示例:

return new ResponseMessageResult(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, invalidOpException));

以下是之前记录的问题:
https://aspnetwebstack.codeplex.com/workitem/1318

关于asp.net - Web API 2 - ApiController.InternalServerError() 返回 HTTP 400 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20103344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com