我HttpClient
用来调用我的 MVC 4 web api。在我的 Web API 调用中,它返回一个域对象。如果出现任何问题,HttpResponseException
将在服务器上抛出一个自定义消息。
[System.Web.Http.HttpGet]
public Person Person(string loginName)
{
Person person = _profileRepository.GetPersonByEmail(loginName);
if (person == null)
throw new HttpResponseException(
Request.CreateResponse(HttpStatusCode.NotFound,
"Person not found by this id: " + id.ToString()));
return person;
}
我可以使用 IE F12 在响应正文中看到自定义的错误消息。但是,当我使用 调用它时HttpClient
,我没有收到自定义的错误消息,只有 http 代码。对于 404,“ReasonPhrase”始终是“未找到”,对于 500 代码,始终是“内部服务器错误”。
有任何想法吗?如何从 Web API 发回自定义错误消息,同时保持正常返回类型作为我的域对象?