A kliensnek is szüksége van útvonalra, amit a web.php fájlban állítunk be. A REST API és a kliens lehet egyetlen projektben. A lekérést a kontrollerben írjuk meg. A blade sablonban rendereljük.
php artisan make:controller EmployeeController
A Http használatbavétele:
use Illuminate\Support\Facades\Http;
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class EmployeeController extends Controller { public function showEmployee() { $url = 'http://localhost:8000/api/employees'; $res = Http::get($url); return view('employee')->with('employees', $res->body()); } }
<p> {{ $employees }} </p>
... use App\Http\Controllers\EmployeeController; ... Route::get('employees', [EmployeeController::class, 'showEmployee']);
Lehetséges kimenet:
[{"id":1,"name":"Vala Ir\u00e9n","city":"Szeged","salary":"347.0","created_at":"2022-09-02T19:37:29.000000Z","updated_at":"2022-09-02T19:37:29.000000Z"}, {"id":2,"name":"Vala Ir\u00e9n","city":"Szeged","salary":"422.0","created_at":"2022-09-02T19:41:48.000000Z","updated_at":"2022-09-02T19:42:24.000000Z"}]
Objektumként fogjuk kezelni az érkezett adatokat:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class EmployeeController extends Controller { public function showEmployee() { $url = 'http://localhost:8000/api/employees'; $res = Http::get($url); return view('employee')->with('employees', $res->object()); } }
A $res objektumon ha futtatom az object() metódust, akkor objektumot kapunk, ha collect() metódust futtatjuk kollekciót kapunk.
Ha objektum a névre hivatkozás:
{{ $emp->name }}
Ha kollekció a névre hivatkozás:
{{ $emp['name'] }}
<table border="1"> <tr> <th>Név</th> <th>Település</th> <th>Fizetés</th> </tr> @foreach ($employees as $emp) <tr> <td>{{ $emp->name }}</td> <td>{{ $emp->city }}</td> <td>{{ $emp->salary }}</td> </tr> @endforeach </table>