1

我有我试图使用 PutAsync 更新某些字段的 API。如果 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给出了状态,但也不确定如何将它们构造为响应,因为返回类型是Task<IHttpActionResult>

4

2 回答 2

2

这取决于您要发回的消息类型。最有可能的是,似乎只有 500 个就可以了。然后你可以只返回 InternalServerError:

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

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

return Request.CreateErrorResponse()

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

如果你只是想作为一种代理服务器并直接返回代码,那么你可以使用这个:

return new HttpResponseMessage(statusCode)

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

于 2017-01-05T13:49:20.067 回答
0

尝试使用以下方法返回:

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

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

于 2017-01-05T13:52:27.103 回答