5 ответов:
в вашем контроллере вы бы вернули HttpStatusCodeResult, как это...
[HttpPost] public ActionResult SomeMethod(...your method parameters go here...) { // todo: put your processing code here //If not using MVC5 return new HttpStatusCodeResult(200); //If using MVC5 return new HttpStatusCodeResult(HttpStatusCode.OK); // OK = 200 }
200 - это обычный HTTP-заголовок для успешного запроса. Если это все вам нужно, просто есть контроллер
return new EmptyResult();
вы можете просто установить код состояния ответа на 200, как показано ниже
public ActionResult SomeMethod(parameters...) { //others code here ... Response.StatusCode = 200; return YourObject; }
[HttpPost] public JsonResult ContactAdd(ContactViewModel contactViewModel) { if (ModelState.IsValid) { var job = new Job { Contact = new Contact() }; Mapper.Map(contactViewModel, job); Mapper.Map(contactViewModel, job.Contact); _db.Jobs.Add(job); _db.SaveChanges(); //you do not even need this line of code,200 is the default for ASP.NET MVC as long as no exceptions were thrown //Response.StatusCode = (int)HttpStatusCode.OK; return Json(new { jobId = job.JobId }); } else { Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(new { jobId = -1 }); } }
способ сделать это в .NET Core (на момент написания) следующим образом:
public async Task<IActionResult> YourAction(YourModel model) { if (ModelState.IsValid) { return StatusCode(200); } return StatusCode(400); }The StatusCode метод возвращает значение типа StatusCodeResult, который реализует IActionResult и таким образом может быть использован в качестве типа возврата ваших действий.
в качестве рефактора вы можете улучшить читаемость, используя приведение перечисления кодов состояния HTTP, например:
return StatusCode((int)HttpStatusCode.OK);кроме того, вы также можете использовать некоторые из встроенных тип результата. Например:
return Ok(); // returns a 200 return BadRequest(ModelState); // returns a 400 with the ModelState as JSONRef. StatusCodeResult - https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.statuscoderesult?view=aspnetcore-2.1
Comments