Situatie
Un api extern te poate ajuta foarte mult in procesul de dezvoltare al aplicatiei sau al site-ului tau. Si iti voi prezenta in continuare un exemplu simplu de integrare a unui api extern intr-o aplicatie cu laravel.
Solutie
Începe prin a instala pachetul Guzzle HTTP client în Laravel. Acesta este un client HTTP simplu și elegant pentru PHP.
composer require guzzlehttp/guzzle |
Creează un serviciu de client HTTP Guzzle în interiorul directorului app/Services, unde vei defini metodele necesare pentru a efectua solicitări HTTP la API-ul extern.
<?php namespace App\Services; use GuzzleHttp\Client; class ExternalApiService { private $client; public function __construct() { $this->client = new Client([ ‘base_uri’ => ‘https://api.example.com/’, ‘timeout’ => 2.0, ]); } public function getUsers() { $response = $this->client->request(‘GET’, ‘users’); return json_decode($response->getBody()->getContents(), true); } } |
În exemplul de mai sus, am creat o clasă ExternalApiService care utilizează un obiect Client de la Guzzle pentru a efectua o solicitare GET către API-ul extern https://api.example.com/. Metoda getUsers returnează un array PHP care conține răspunsul API-ului extern convertit în format JSON.
În controlerul Laravel unde vrei să utilizezi API-ul extern, adaugă o proprietate de tip ExternalApiService pentru a obține un obiect al serviciului.
<?php namespace App\Http\Controllers; use App\Services\ExternalApiService; class MyController extends Controller { private $externalApiService; public function __construct(ExternalApiService $externalApiService) { $this->externalApiService = $externalApiService; } public function getUsersFromExternalApi() { $users = $this->externalApiService->getUsers(); return view(‘users’, compact(‘users’)); } } |
În exemplul de mai sus am creat o clasă de controler MyController care utilizează serviciul ExternalApiService prin intermediul injecției de dependențe pentru a obține datele de utilizator din API-ul extern. Metoda getUsersFromExternalApi apelează metoda getUsers a serviciului și returnează o vizualizare Laravel care afișează utilizatorii.
Adaugă o rută în fișierul routes/web.php pentru a accesa metoda din controler care utilizează serviciul API-ului extern.
Route::get(‘/users’, [MyController::class, ‘getUsersFromExternalApi’]); |
În exemplul de mai sus, am adăugat o rută care apelează metoda getUsersFromExternalApi din clasa MyController.
Accesează ruta în browser pentru a vedea datele utilizatorului preluate din API-ul extern. Acesta este un exemplu simplu pentru a integra un API extern într-un site Laravel, dar pot exista unele variații în funcție de API-ul utilizat și de nevoile specifice.
Leave A Comment?