1

PutAsync を使用していくつかのフィールドを更新しようとしている API があります。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>

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 に答える