有没有办法在执行动作的中间执行REST动作?例如,如果我执行 GET /index.php/book/1 我可能会收到以下内容:

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

但是我想做的是在返回上面的对象之前,执行一个 GET /index.php/user/4 所以最终的结果是:

[{
    "id" : 1,
    "title" : "This is a book.",
    "owner" : {
        "id" : 4,
        "name" : "John Smith",
        "age" : 40
    }
}]
有帮助吗?

解决方案

甚至还有一种简单的方法可以通过直接内部调用另一个api方法来实现Restler,而不是浪费对服务器的一次调用

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

HTH

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top