Cómo devolver un código de estado HTTP 200 desde el controlador ASP.NET MVC 3

Resuelto Paul Brown asked hace 13 años • 7 respuestas

Estoy escribiendo una solicitud que acepta datos POST de un servicio de terceros.

Cuando se PUBLICAN estos datos, debo devolver un código de estado HTTP 200.

¿Cómo puedo hacer esto desde mi controlador?

Paul Brown avatar Feb 22 '11 07:02 Paul Brown
Aceptado

En su controlador devolvería un HttpStatusCodeResult como este...

[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
}
Brian Behm avatar Feb 01 '2012 06:02 Brian Behm

200 es sólo el encabezado HTTP normal para una solicitud exitosa. Si eso es todo lo que necesitas, solo ten el controlador.return new EmptyResult();

Kevin Stricker avatar Feb 22 '2011 00:02 Kevin Stricker

Simplemente puede configurar el código de estado de la respuesta en 200 como se muestra a continuación

public ActionResult SomeMethod(parameters...)
{
   //others code here
   ...      
   Response.StatusCode = 200;
   return YourObject;  
}
Jack avatar Dec 03 '2012 07:12 Jack
    [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 });
        }
    }
Brian Ogden avatar May 02 '2015 08:05 Brian Ogden