Web APIコントローラでメソッドの成功戻りコードを指定する方法はありますか?成功コードを制御するASP.NET Web API(200対201)
私の最初のコントローラは、しかし、あなたは、Web APIのヘルプページを生成する上記の方法の欠点があり
public HttpResponseMessage PostProduct(string id, Product product)
{
var product= service.CreateProduct(product);
return Request.CreateResponse(HttpStatusCode.Created, product);
}
下回るような構造にされました。 Web APIヘルプページAPIは、厳密に型指定されたプロダクトがレスポンスであることを自動的にデコードできないため、そのドキュメンテーションにサンプルレスポンスオブジェクトを生成します。
私は以下のアプローチに進みますが、ここでは成功コードはOK (200)
であり、Created (201)
ではありません。とにかく、私はいくつかの属性スタイル構文を使ってメソッドの成功コードを制御できますか?さらに、Locationヘッダを、作成されたリソースが利用可能なURLに設定したいと思います。再度、私がHttpResponseMesage
を扱っていたときは簡単でした。
public Product PostProduct(string id, Product product)
{
var product= service.CreateProduct(product);
return product;
}
ありがとうございました。他の場所に同じマッピングを書いていなくても、属性ルーティングと一緒にそれを飾るのはいいでしょう。次のリリースでのリリースを知ってうれしいです。 – govin
今後のWeb APIのリリースでは、SuccessResponseTypeとErrorResponseTypeの可能性のあるステータスコードのリストを指定するための規定もありますので、APIドキュメントでも同様に取り上げることができます。 – govin