Tengo una llamada de API para la que necesito poder ejecutar algunas comprobaciones y devolver varios códigos de estado. No necesito vistas personalizadas ni nada, solo necesito devolver el código correcto. Si el usuario no ha aprobado las credenciales adecuadas, necesito devolver un estado 401. Si no han enviado un formato de solicitud compatible, necesito devolver un estado de 400.Establecer código de estado de respuesta
Como es una API, todo lo que quiero hacer es establecer el estado de la respuesta y salir con un mensaje simple y estúpido sobre por qué la solicitud falló (probablemente usando un exit
). Solo lo suficiente para hacer el trabajo, pero no he podido hacer que esto funcione bien. He intentado usar PHP's header()
y Cake's $this->header()
(todo esto está en el controlador), pero aunque recibo el mensaje de salida, el encabezado muestra un estado 200 OK
.
Usando el siguiente código, recibo el mensaje, pero el encabezado no está configurado. ¿Qué me estoy perdiendo?
if(!$this->auth_api()) {
header('401 Not Authorized');
exit('Not authorized');
}
Interesante. Nunca he visto esto en uso, pero el manual ciertamente está de acuerdo contigo. Esto se siente como un mejor método para mí. –
Digno de una bofetada punitiva. Eché de menos lo obvio en mi prisa por noquearlo. Gracias por ayudarme, chicos. –
Encontré que necesitas poner la descripción del estado en el primer parámetro para que funcione ... –