objetos rest

Hola

Los webservices del guarani tienen una construcción del tipo

    function get_list()
    {
	$filtro = $this->get_filtro_base()
			->agregar_campo('propuesta', 'vep.propuesta');
	$where = $filtro->get_sql_where();

        $rs = $this->get_listado($where);
        if ($rs) {
            return $rs;
        } else {
            throw new rest_error(404, "No hay elementos para propuestas");
        }
    }

Si quisiera devolver, en el caso de no haber datos, una respuesta 204 no content, en lugar de un error 404, como debería hacerlo?

Gracias

Emilio

Buenos días Emilio, la línea para poder hacer lo que estás pidiendo es :

rest::response()->set_status(204);

Espero te sirva para lo que estás buscando hacer.

Saludos.

Hola José

Si, gracias, pero…
Me devuelve 200, no 204
Ademas me dice que tengo que devolver algo. Un array vacio al menos.

si escribo
$this->set_status(204);
me devuelve “no content” pero con status 500

Seguiré investigando.
Gracias

Emilio

Buenas tardes Emilio,
¿Podrías compartirnos parte del código donde implementan esto? El método por ejemplo.

Si hace falta devolver algo podrian hacer algo como
rest::response()->get([“error” => “Faltan parámetros”]);
rest::response()->set_status(403);

$this o rest::response() dependerá de como lo implementen, por eso le pedimos el código para ayudarlos sobre el ejemplo

Hola

Va adjunto un par de archivos.
Son copia de los que vienen del siu.

Si los grabas en las carpetas correspondientes deberian funcionar.

El cliente (una app) llama a un servicio (comisiones-alumnos) en este caso.
Si llamase a comision-alumno (en singular) deberia recibir una respuesta 404 No encontrado. Puesto que el servicio no existe.
Ahora si llama al servicio comisiones-alumnos en vacaciones, tambien recibirá una respuesta 404. Pero la interpretacion es diferente.
Si lo hace estando inscripto a cursadas deberia devolver un array.

Quiero poder diferenciar en la app entre los dos 404.
Uno va con un mensaje “contactese con el administrador” y el otro con " no estas inscripto a ninguna comision"

Se entiende?

Emilio


comisiones_alumnos.rar (1.77 KB)