RestLer: Azioni interne
Domanda
C'è un modo per eseguire azioni di riposo nel mezzo dell'esecuzione di un'azione?Ad esempio, se eseguo GET /index.php/book/1
potrei ricevere quanto segue:
[{
"id" : 1,
"title" : "This is a book.",
"owner_id" : 4
}]
.
Ma quello che mi piacerebbe fare è prima di restituire l'oggetto sopra, eseguire un GET /index.php/user/4
, quindi il risultato finale è:
[{
"id" : 1,
"title" : "This is a book.",
"owner" : {
"id" : 4,
"name" : "John Smith",
"age" : 40
}
}]
. Soluzione
C'è anche un modo semplice per farlo con il ripostiere chiamando internamente internamente un altro metodo API direttamente invece di sprecare una chiamata al server
class User{
public function get($id, $includeOwner = true){
$result = getUserFromDB($id)
if($includeOwner){
$result['owner'] = $this->get(getOwnerIdFromDB($id),false);
}
}
return $result;
}
.
HTH
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow