HttpResponseMessage 是 IsSuccessStatusCode C#

HttpResponseMessage is IsSuccessStatusCode C#

我在 API 中尝试使用 PutAsync 更新某些字段。如果 Put 成功,我将收到作为响应发送的消息。但是如果这样做时有任何异常,我将不得不将异常消息作为响应发送

HttpResponseMessage responseMessage = (await client_Name.PutAsync(c_URL, httpContent));

if (responseMessage.IsSuccessStatusCode)
{
    return Ok(serviceResponse);
}
else
{
    string errormessage = responseMessage.StatusCode.ToString();
}

我不确定如何处理 HttpResponseMessage 异常。我知道 responseMessage.StatusCode 给出了状态,但也不确定如何将它们构造为响应,因为 return 类型是 Task<IHttpActionResult>

这取决于您要发回的消息类型。很可能看起来只有 500 就可以了。然后你可以 return InternalServerError:

return InternalServerError(new Exception(...));

如果你想区分500、403等各种状态,你也可以这样做。您可以使用

return Request.CreateErrorResponse()

用代码、消息等发回任何东西

如果您只是想将服务器作为一种代理并直接 return 代码,那么您可以使用:

return new HttpResponseMessage(statusCode)

所有这些都是实现相同结果的各种选项,即 return 带有一些消息返回的 http 状态代码。想要什么完全由您决定。

尝试使用以下内容 return :

return Content(HttpStatusCode.BadRequest, "Any object");

您可以在对象字段中发送您的错误。