我有API,我试图使用PutAsync来更新某些字段。如果Put成功,我有消息将作为Response发送。但是如果在执行此操作时有任何异常,我将不得不将异常消息作为响应发送
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>
答案 0 :(得分:2)
这取决于您要发回的邮件类型。很可能看起来只有500就可以了。然后你可以返回InternalServerError:
return InternalServerError(new Exception(...));
如果你想区分各种状态,如500,403等,你也可以这样做。你可以使用
return Request.CreateErrorResponse()
使用代码,消息等发回任何内容
如果您只想将服务器作为一种代理服务器并直接返回代码,那么您可以使用:
return new HttpResponseMessage(statusCode)
总而言之,这些是实现相同结果的各种选项,即返回带有某些消息的http状态代码。由你来决定你想要什么。
答案 1 :(得分:0)
尝试使用以下命令返回:
return Content(HttpStatusCode.BadRequest, "Any object");
在对象字段中,您可以发送错误。