Laravel 中的多个 API 与 HTTP 请求

今天给大家分享,如何在laravel中调用多个api
我们现在承诺可以从客户端调用多个 api(vue、react、js…)。如果你使用promise.all([…]),它会返回多个promise

好吧,我们走

首先,可以安装laravel 11项目

第二个,我们可以在web.php或者controller,services,..

中设置

示例:我在web.php文件中编写代码,帮忙测试一下

use illuminatesupportfacadeshttp;use guzzlehttppromiseutils;use guzzlehttpexceptionconnectexception;use illuminatehttpclientpool;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',    ];});

当你请求url:http://127.0.0.1/multiple-request时,它返回数据

Laravel 中的多个 API 与 HTTP 请求

好吧,或者你可以使用 http::pool ,请求 api

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);});

返回数据:

Laravel 中的多个 API 与 HTTP 请求

文章:laravel 中的多个 api 和 http 请求

以上就是Laravel 中的多个 API 与 HTTP 请求的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1244941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PHP 函数如何处理代码中特定错误?
上一篇 2025年12月9日 17:17:45
PHP 函数如何与 Python 交互
下一篇 2025年12月9日 17:17:56

相关推荐

发表回复

登录后才能评论
关注微信