Pregunta

¿Existe alguna forma de realizar acciones REST en medio de la ejecución de una acción?Por ejemplo, si realizo GET /index.php/book/1 Podría recibir lo siguiente:

[{
    "id" : 1,
    "title" : "This is a book.",
    "owner_id" : 4
}]

Pero lo que me gustaría hacer es antes de devolver el objeto anterior, realizar un GET /index.php/user/4 entonces el resultado final es:

[{
    "id" : 1,
    "title" : "This is a book.",
    "owner" : {
        "id" : 4,
        "name" : "John Smith",
        "age" : 40
    }
}]
¿Fue útil?

Solución

Incluso existe una forma sencilla de hacer esto con Restler llamando internamente a otro método API directamente en lugar de desperdiciar una llamada al servidor.

class User{
    public function get($id, $includeOwner = true){
        $result = getUserFromDB($id)
        if($includeOwner){
            $result['owner'] = $this->get(getOwnerIdFromDB($id),false);
        }
    }
    return $result;
}

HT

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top