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 コードのみが表示されます。「ReasonPhrase」は、404 の場合は常に「見つかりません」、500 コードの場合は「Internal Server Error」です。
何か案は?通常の戻り値の型をドメイン オブジェクトのままにして、Web API からカスタム エラー メッセージを返すにはどうすればよいですか?