Как вернуть 404 с контроллера JsonResult?
In ASP.NET MVC5 у меня есть контроллер с JsonResult
тип возвращаемого значения.
в зависимости от параметров я хочу вернуть 404, так как это описывает пользователя, запрашивающего несуществующие данные.
Я могу throw new HttpException(404, "message")
но это кажется грязным, учитывая return HttpNotFound()
синтаксис. Это не работает, конечно, потому что HttpNotFoundResult
не наследует JsonResult
как я должен чисто вернуть 404 из JsonResult
методы контроллера?
1 ответов
все ваши действия должны быть просто ActionResult
возвращаемые значения. Это позволяет вернуть любой допустимый тип результата, будь то JsonResult
или HttpNotFoundResult
.
public ActionResult Foo()
{
if (!foos.Any())
{
return new HttpNotFoundResult();
}
return Json(foos, JsonRequestBehavior.AllowGet);
}