Restler:Ações internas
Pergunta
Existe uma maneira de executar ações REST no meio da execução de uma ação?Por exemplo, se eu executar GET /index.php/book/1
Posso receber o seguinte:
[{
"id" : 1,
"title" : "This is a book.",
"owner_id" : 4
}]
Mas o que eu gostaria de fazer é antes de retornar o objeto acima, realizar um GET /index.php/user/4
então o resultado final é:
[{
"id" : 1,
"title" : "This is a book.",
"owner" : {
"id" : 4,
"name" : "John Smith",
"age" : 40
}
}]
Solução
Existe uma maneira simples de fazer isso com Restler, chamando internamente outro método de API diretamente, em vez de desperdiçar uma chamada para o servidor
class User{
public function get($id, $includeOwner = true){
$result = getUserFromDB($id)
if($includeOwner){
$result['owner'] = $this->get(getOwnerIdFromDB($id),false);
}
}
return $result;
}
HTH
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow