Я пишу приложение, которое принимает данные POST от сторонней службы.
Когда эти данные POSTED, я должен вернуть 200 HTTP-код состояния.
Как я могу сделать это с моего контроллера?
Я пишу приложение, которое принимает данные POST от сторонней службы.
Когда эти данные POSTED, я должен вернуть 200 HTTP-код состояния.
Как я могу сделать это с моего контроллера?
В вашем контроллере вы вернете 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 });
}
}