2016-05-11 8 views
0

MVC 6 APIプロジェクトにコントローラがあります。 postメソッドがあり、データが有効でない場合、投稿された値を検証してクライアントに何らかのエラーを返します。デフォルトテンプレートでPostメソッドは、任意の型を返すが、空間を持っているとどのようにそれから1は、いくつかのメッセージとエラーHTTPステータスコードを返す必要がありますしない理由ASP.NET 5、MVC 6、APIの応答ステータス

[HttpPost] 
public void Post([FromBody]PostedHistoricalEvent value) 
{ 
    if (!IsHistoricalEventValid(value)) 
    { 
     //return error status code 
    } 
} 

は今、私は疑問に思いますか?

答えて

2

返品タイプ(voidwill return an EmptyResultを持たないか、または返品の対象外の200 OKのアクションメソッドです。

あなたが応答を変更したい場合は、あなたが戻り値の型を変更し、HttpStatusCodeResultを返すことができ、次のいずれか

public IActionResult Post(...) 
{ 
    // ... 
    return new HttpStatusCodeResult(400); 
} 

それともController.Responseでそれを設定します。

public void Post(...) 
{ 
    // ... 
    Response.StatusCode = 400; 
} 
関連する問題