Czym jest REST API w laravel: Wszystko, co musisz wiedzieć
Opublikowany: 2022-11-03Świat całkowicie zwraca się w stronę łatwości korzystania z urządzeń mobilnych i szukania rozwiązań online. Projektowanie i tworzenie stron internetowych rozwija się w dzisiejszym świecie w ogromnym stopniu.
Większość popytu została skierowana na smartfony, ponieważ tworzenie stron internetowych obejmuje również tworzenie aplikacji mobilnych. Biorąc to pod uwagę, w przypadku aplikacji mobilnych backend wymaga spokojnego interfejsu API.
Jeśli nie wiesz, czym jest REST API, to w porządku! Jesteśmy z Tobą.
Na tym blogu wyjaśnię, czym jest restry API i jak działa. Wyjaśnię również, jak stworzyć spokojne API w Laravelu.
Zacznijmy…
Co to jest REST API?
API to interfejs programowania aplikacji, który pomaga nam połączyć jedno urządzenie z innym urządzeniem, na przykład współmałżonek mamy jedną stronę internetową na żywo, a teraz chcemy zbudować jedną aplikację mobilną, więc stworzymy API do łączenia danych z urządzeniem, musimy użyć JSON dane do przekazania w urządzeniu, dzięki czemu można to zrobić tylko za pomocą interfejsu API.
Czasami istnieje potrzeba sieciowego communicatREST API lub Representational State Transfer API.
Jak to działa?
Na samym początku musimy zainstalować aplikację laravel w naszym systemie, abyśmy mogli śledzić oficjalną dokumentację laravela, która pomoże nam przejść dalej. Oto link do dokumentu, za pomocą którego można zainstalować aplikację laravel:
http://laravel.com/
Aby zainstalować aplikację, użyj tego polecenia, ale upewnij się, że powinieneś mieć kompozytora w swoim systemie, ponieważ kompozytor jest narzędziem zależności, które pomaga zainstalować wszystkie zależności w aplikacji, możesz kliknąć ten link:
https://getcomposer.org/download/
Po zainstalowaniu kompozytora możesz pobrać laravel , użyj tego polecenia :
kompozytor utwórz-projekt --prefer-dist laravel/laravel laravel-sanctum-auth
Po zainstalowaniu projektu należy ustawić szczegóły bazy danych w pliku .ENV, więc po prostu wypełnij swoją bazę danych w pliku ENV.
Kolejnym krokiem jest zainstalowanie pakietu API. Dostępnych jest wiele pakietów, ale możesz zainstalować według własnego wyboru.
Aby zainstalować pakiet, musisz postępować zgodnie z poleceniem podanym w dokumentacji laravela. Ponieważ mam zamiar korzystać z Sanctum, użyję tego polecenia :
kompozytor wymaga laravel/sanctum
Po uruchomieniu tego polecenia mój pakiet zostanie zainstalowany i będzie gotowy do użycia. Wystarczy postępować zgodnie z poniższym zrzutem ekranu:
Po zakończeniu konfiguracji pakietu następnym krokiem jest stworzenie modelu bazy danych. Stworzymy jeden tryb i migrację, która połączy się z bezpośrednią bazą danych,
plik app/Models/User.php.
<?php
przestrzeń nazw App\Models;
użyj Illuminate\Contracts\Auth\MustVerifyEmail;
użyj Illuminate\Database\Eloquent\Factories\HasFactory;
użyj Illuminate\Foundation\Auth\User jako możliwego do uwierzytelnienia;
użyj opcji Iluminacja\Powiadomienia\Notifiable;
// sanktuarium
użyj Laravel\Sanctum\HasApiTokens;
class Użytkownik rozszerza Authenticatable
{
użyj HasApiTokens, HasFactory, Notifiable;
/**
* Atrybuty, które można przypisać masowo.
*
* @var array
*/
chronione $do wypełnienia = [
'Nazwa',
'e-mail',
'hasło',
];
/**
* Atrybuty, które powinny być ukryte dla tablic.
*
* @var array
*/
chroniony $ukryty = [
'hasło',
'zapamiętaj_token',
];
/**
* Atrybuty, które powinny być rzutowane na typy natywne.
*
* @var array
*/
chronione $casty = [
'email_verified_at' => 'data-godzina',
];
}
Teraz musimy stworzyć jeden kontroler, więc użyj tego polecenia, aby utworzyć kontroler

PHP artisan make::kontroler NAZWA KONTROLERA
plik app/Http/Controllers/API/BaseController.php:
<?php
przestrzeń nazw App\Http\Controllers\API;
użyj Iluminuj \ HTTP \ Żądanie;
użyj App\Http\Controllers\Controller jako kontrolera;
klasa BaseController rozszerza kontroler
{
/**
* metoda odpowiedzi na sukces.
*
* @return \Illuminate\Http\Response
*/
funkcja publiczna sendResponse($result, $message)
{
$odpowiedź = [
'sukces' => prawda,
'dane' => $wynik,
'wiadomość' => $wiadomość,
];
return response()->json($response, 200);
}
/**
* zwróć odpowiedź na błąd.
*
* @return \Illuminate\Http\Response
*/
funkcja publiczna sendError($error, $errorMessages = [], $kod = 404)
{
$odpowiedź = [
'sukces' => fałsz,
'wiadomość' => $błąd,
];
if(!empty($errorMessages)){
$response['data'] = $errorMessages;
}
return response()->json($odpowiedź, $kod);
}
}
Uwaga: zawsze, gdy tworzymy API, zawsze wysyłamy odpowiedź w formacie JSON z kodem statusu.
Dla API zawsze tworzymy token uwierzytelniania. Oznacza to, że jeśli token zostanie utworzony i zweryfikowany, wtedy będziemy mogli uwierzytelniać użytkowników.
<?php
przestrzeń nazw App\Http\Controllers\API;
użyj Iluminuj \ HTTP \ Żądanie;
użyj App\Http\Controllers\API\BaseController jako BaseController;
użyj opcji Iluminacja\Wsparcie\Fasady\Uwierzytelnianie;
używać Walidatora;
użyj aplikacji \ modele \ użytkownik;
class AuthController rozszerza BaseController
{
logowanie do funkcji publicznej (żądanie $żądanie)
{
if(Auth::attempt(['email' => $request->email, 'password' => $request->password])){
$authUser = Uwierzytelnianie::użytkownik();
$success['token'] = $authUser->createToken('MyAuthApp')->plainTextToken;
$sukces['nazwa'] = $authUser->nazwa;
return $this->sendResponse($success, 'Zalogowany użytkownik');
}
w przeciwnym razie{
return $this->sendError('Nieautoryzowany.', ['error'=>'Nieautoryzowany']);
}
}
rejestracja funkcji publicznej (żądanie $żądanie)
{
$validator = Walidator::make($request->all(), [
'imię' => 'wymagane',
'email' => 'wymagany|e-mail',
'hasło' => 'wymagane',
'confirm_password' => 'wymagane|to samo:hasło',
]);
if($validator->niepowodzenie()){
return $this->sendError('Weryfikacja błędów', $validator->errors());
}
$wejście = $żądanie->wszystko();
$input['hasło'] = bcrypt($input['hasło']);
$użytkownik = Użytkownik::utwórz($wejście);
$success['token'] = $user->createToken('MyAuthApp')->plainTextToken;
$sukces['nazwa'] = $użytkownik->nazwa;
return $this->sendResponse($success, 'Użytkownik został pomyślnie utworzony.');
}
}
Ten plik trasy:
Na koniec, aby uruchomić projekt, musimy uruchomić to polecenie:
rzemieślnik php służy
Zawijanie
Interfejsy API obsługują wiele dzisiejszych najpopularniejszych witryn i usług, od sieci społecznościowych po aplikacje finansowe. Na tym blogu zapoznałeś się z REST API w Laravel. Mamy nadzieję, że stworzyło to podstawy do zrozumienia, czym jest REST API i jak działa.
Jeśli szukasz usług tworzenia stron internetowych, nie musisz szukać dalej. W webdew będziesz mógł znaleźć proaktywny zespół wykwalifikowanych projektantów stron internetowych i programistów, którzy zaprojektują i zbudują Twoją witrynę biznesową. Skontaktuj się z nami, aby dowiedzieć się więcej.