ForwardsCalls Trait を使用した複数の API - Laravel
7546 ワード
早速始めましょう. ForwardsCalls を介して API を呼び出す高度な方法を見つけたので、それを共有したいと思います.
まず、Api.php ページを作成します
前のページから取得する Laratips Api.php ページを作成します.
だから私たちは召喚に来ます
また、fakeapi を呼び出してその一部を取得することも可能です.FakeStoreApi.php ページを作成します.
だから私たちは召喚に来ます
ソース :- https://github.com/Laratipsofficial/tips-and-tricks/tree/laravel-feature/forwards-calls
ソース :-
コードを楽しんでいただければ幸いです.
まず、Api.php ページを作成します
<?php
namespace App\Http\Apis;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Traits\ForwardsCalls;
abstract class Api
{
use ForwardsCalls;
protected PendingRequest $http;
public function __construct()
{
$this->http = $this->initialize();
}
public function __call($method, $params)
{
return $this->forwardCallTo($this->http, $method, $params);
}
public abstract function initialize(): PendingRequest;
}
前のページから取得する Laratips Api.php ページを作成します.
<?php
namespace App\Http\Apis;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
class LaratipsApi extends Api
{
public function initialize(): PendingRequest
{
return Http::acceptJson()->baseUrl('http://laratips.test/api');
}
}
だから私たちは召喚に来ます
<?php
namespace App\Http\Controllers;
use App\Http\Apis\LaratipsApi;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class DashboardController extends Controller
{
public function index(Request $request)
{
return (new LaratipsApi)->get('users');
}
}
また、fakeapi を呼び出してその一部を取得することも可能です.FakeStoreApi.php ページを作成します.
<?php
namespace App\Http\Apis;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
class FakeStoreApi extends Api
{
public function initialize(): PendingRequest
{
return Http::acceptJson()->baseUrl('https://fakestoreapi.com');
}
}
だから私たちは召喚に来ます
<?php
namespace App\Http\Controllers;
use App\Http\Apis\FakeStoreApi;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class DashboardController extends Controller
{
public function index(Request $request)
{
return (new FakeStoreApi)->get('products', [
'limit' => 2
]);
}
}
ソース :- https://github.com/Laratipsofficial/tips-and-tricks/tree/laravel-feature/forwards-calls
ソース :-
コードを楽しんでいただければ幸いです.
Reference
この問題について(ForwardsCalls Trait を使用した複数の API - Laravel), 我々は、より多くの情報をここで見つけました https://dev.to/morcosgad/multiple-apis-with-forwardscalls-trait-laravel-if7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol