tesis - Responde con cuerpo y código de estado en Nancy
tesis sobre netflix (4)
Soy nuevo en Nancy y quiero devolver tanto un HttpStatusCode personalizado como un cuerpo (contenido). Si devuelvo un HttpStatusCode, lo devuelve con un cuerpo en blanco. Si devuelvo una cadena, devuelve eso como el cuerpo pero siempre con un código de estado 200 de OK.
public class SendSMS : NancyModule
{
public SendSMS()
{
Post["/SendSMS"] = parameters =>
{
return HttpStatusCode.BadRequest; // this works, no body
return "Missing /"to/" parameter"; // this works, 200 status code
// want to return status code with message
};
}
}
Esta es la forma más sencilla que he encontrado:
Regreso de su módulo:
return new Response {
StatusCode = HttpStatusCode.NotFound, ReasonPhrase = "Resource not found"
};
Esto debería funcionar.
public class SendSMS : NancyModule
{
public SendSMS()
{
Post["/SendSMS"] = parameters =>
{
return Negotiate.WithModel("Missing /"to/" param")
.WithStatusCode(HttpStatusCode.BadRequest)
};
}
}
Para obtener más información, consulte los documentos sobre el control de la negociación de contenido .
Si tienes problemas con la codificación es mejor usar
return new TextResponse(HttpStatusCode.STATUS, "Text Responsé")
Siempre puede crear una instancia del tipo de Response
y configurar usted mismo el Body
y el StatusCode
. Si quisieras tomar un atajo podrías hacer algo como
var r = (Response)"Some string that goes into the body";
r.StatusCode = 123;
return r;