سؤال

هل هناك طريقة لتنفيذ إجراءات 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
    }
}]
هل كانت مفيدة؟

المحلول

حتى أن هناك طريقة بسيطة للقيام بذلك باستخدام Restler عن طريق الاتصال داخليًا بطريقة API أخرى مباشرة بدلاً من إضاعة مكالمة واحدة للخادم

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

هث

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top