"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > HTTP अनुरोधों के साथ लारवेल में एकाधिक एपीआई

HTTP अनुरोधों के साथ लारवेल में एकाधिक एपीआई

2024-08-18 को प्रकाशित
ब्राउज़ करें:799

आज, मैं सबके साथ साझा करता हूं कि लारवेल में मल्टीपल एपीआई पर कॉल कैसे करें
अब हम वादा करते हैं कि क्लाइंट से एकाधिक एपीआई कॉल कर सकते हैं (vue, प्रतिक्रिया, js,...)। यदि आप Promise.all([...]) का उपयोग करते हैं, तो यह एकाधिक वादे लौटाता है

ठीक है, चलो मत जाओ

पहला, आप प्रोजेक्ट लारवेल 11 स्थापित कर सकते हैं

दूसरा, हम इसे web.php या नियंत्रक, सेवाओं में सेटअप कर सकते हैं,..

उदाहरण: मैं web.php फ़ाइल में कोड लिखता हूं, इसका परीक्षण करने में सहायता करें

use Illuminate\Support\Facades\Http;
use GuzzleHttp\Promise\Utils;
use GuzzleHttp\Exception\ConnectException;
use Illuminate\Http\Client\Pool;

Route::get('multiple-request', function() {
    $responses = Utils::all([
        'foo' => Http::async()->get('https://jsonplaceholder.typicode.com/todos/1')->then(function ($response) {
            // you can check data, after then return it
            return $response;
        }),
        'bar' => Http::async()->get('https://jsonplaceholder.typicode.com/todos/2')->then(function ($response) {
             // you can check data, after then return it
            return $response;
        }),
        'baz' => Http::async()->get('https://jsonplaceholder.typicode.com/todos/3')->then(function ($response) {
            // you can check data, after then return it
            return $response;
        }),
    ])->wait();

    // you need check data here
    $fooOk = $responses['foo']->ok();
    $barSuccessful = $responses['bar']->successful();
    $connectionFailed = $responses['baz'] instanceof ConnectException;

    return [
        'foo' => $responses['foo']->ok() ? $responses['foo']->json() : 'Request to foo failed',
        'bar' => $responses['bar']->successful() ? $responses['bar']->json() : 'Request to bar failed',
        'baz' => $responses['baz']->ok() ? $responses['baz']->json() : 'Request to baz failed',
    ];
});

जब आप यूआरएल का अनुरोध करते हैं: http://127.0.0.1/multiple-request, यह डेटा लौटाता है

Multiple API in Laravel with HTTP Requests

ठीक है, या आप Http::pool का उपयोग कर सकते हैं, एपीआई का अनुरोध कर सकते हैं

Route::get('multiple-request-using-pool', function() {

        $responses = Http::pool(fn (Pool $pool) => [
            $pool->get('https://jsonplaceholder.typicode.com/todos/1'),
            $pool->get('https://jsonplaceholder.typicode.com/todos/2'),
            $pool->get('https://jsonplaceholder.typicode.com/todos/3'),
        ]);

        $responses[0]->ok();
        $responses[1]->successful();
        // Kiểm tra và lấy nội dung từ các phản hồi
        $data = [
            'todo_1' => $responses[0]->ok() ? $responses[0]->json() : 'Request to todo 1 failed',
            'todo_2' => $responses[1]->successful() ? $responses[1]->json() : 'Request to todo 2 failed',
            'todo_3' => $responses[2]->ok() ? $responses[2]->json() : 'Request to todo 3 failed',
        ];

        return response()->json($data);

});

डेटा लौटाएं :

Multiple API in Laravel with HTTP Requests

लेख: HTTP अनुरोधों के साथ लारवेल में एकाधिक एपीआई

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/skipperhoa/multiple-api-in-laravel-with-http-requests-3ml6?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3