RESTfulサービスを開発中です。サポートされていないすべてのURLについて400を返したいと思います。ASP.NET MVC 4、HttpExceptionとHttpStatusCodeResultを返します。
私の質問は、この1つは、より良いように思わ
//method 1
public ActionResult Index()
{
//The url is unsupported
throw new HttpException(400, "Bad Request");
}
..私は方法2およびその逆の上に方法1を選択する必要がある場合
のですか? //method 2
public ActionResult Index()
{
//The url is unsupported
return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Bad Request");
}
私は、2つの意味的に意味のある違いが、例外スローの単純なオーバーヘッドよりも必要であると確信しています。 –
@AntP、まずASP.NET MVCがこのHttpExceptionをインターセプトし、対応するステータスコードを返すことを期待しています。 2つ目はすべて明示的です。あなたはこの場合に何が起こるべきかを正確に伝えています。つまり、400 BadRequestをクライアントに返します。 –
理論的には、最初のものは、慣習の変更に直面してより頑強になる可能性があります。 –