2016-11-04 11 views
1

HttpGetアクションメソッドを使用してリソースを取得するときは、通常、Ok()が返されます。ASP.NET Web APIのアクション結果

public IHttpActionResult Get() { 
    var customers = context.customers.toList(); 
    return Ok(customers); 
} 

我々は我々が新たに作成されたリソースの場所で作成さ()を返すレコードを作成するHttpPostアクションメソッドを使用します。

HttpPutを使用してレコードを更新すると、何が返されますか?たとえば、レコードを読み取ったときにはOk()を返し、作成するにはCreated()

HttpDeleteの場合は何を返すのですか?

+1

ステータス200(Ok)はおそらく両方で問題ありません。それを使って何かを返すと(コンテンツ)、消費者/リクエスタが必要とするものに依存します。 – Igor

+0

私は、HttpPutとHttpDeleteの要求に対して、メソッドの戻り値の型は一般的に無効です。読み込みました。それで、メソッドの本文で戻り値を使用しません。このアプローチは広く使われていますか? –

+2

私はあなたがそれを行い、何の例外も起こらないと信じているので、ステータス204(内容なし)は依然としてフレームワークによってクライアントに返され、コールが成功したことを知ることができます。したがって、非同期メソッドが呼び出されている場合は 'void'もうまくいきます。 – Igor

答えて

2

https://docs.asp.net/en/latest/tutorials/first-web-api.htmlのチュートリアルによれば、HTTP PUTまたはHTTP DELETEを実行するときは、204 (No content)コードを返す必要があります。

return new NoContentResult(); 
+1

私のせいで、リンクが修正されました。 –

関連する問題