Trasy API i kontrolery zasobów
Rejestruj trasy RESTful i generuj kontrolery zasobów za pomocą Artisan
Trasy API i kontrolery zasobów to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.
Trasy API w Laravelu
Trasy API należy definiować w pliku routes/api.php. Trasy te automatycznie otrzymują prefiks /api i korzystają z grupy middleware api (są bezstanowe — nie używają sesji ani ciasteczek).
Podstawowa trasa API
Zwraca JSON z funkcji closure.
<?php
Route::get("/users/{id}", function (int $id) {
$user = User::findOrFail($id);
return response()->json($user);
});Trasy zasobów API
Route::apiResource() rejestruje 5 tras RESTful (pomijając create i edit, które renderują formularze).
<?php
// routes/api.php
use App\Http\Controllers\Api\UserController;
Route::apiResource("users", UserController::class);
// GET /api/users → index
// POST /api/users → store
// GET /api/users/{user} → show
// PUT /api/users/{user} → update
// DELETE /api/users/{user} → destroyGenerowanie kontrolera API
Należy użyć flagi --api, aby wygenerować kontroler bez metod create i edit.
$ php artisan make:controller Api/UserController --api --model=UserPrzykład kontrolera API
Kontroler API zwraca odpowiedzi w formacie JSON.
<?php
namespace App\Http\Controllers\Api;
class UserController extends Controller
{
public function index(): JsonResponse
{
return response()->json(User::paginate(15));
}
public function show(User $user): JsonResponse
{
return response()->json($user);
}
public function store(StoreUserRequest $request): JsonResponse
{
$user = User::create($request->validated());
return response()->json($user, 201);
}
public function destroy(User $user): JsonResponse
{
$user->delete();
return response()->json(null, 204);
}
}Kody statusu HTTP
Należy zwracać odpowiednie kody statusu: 200 (OK), 201 (Utworzono), 204 (Brak treści), 400 (Nieprawidłowe żądanie), 401 (Brak autoryzacji), 403 (Odmowa dostępu), 404 (Nie znaleziono), 422 (Jednostka niemożliwa do przetworzenia).
Walidacja za pomocą Form Request
Należy używać Form Request do tworzenia przejrzystych, wielokrotnego użytku reguł walidacji.
$ php artisan make:request StoreUserRequestPrzykład StoreUserRequest
Reguły i autoryzację należy definiować w klasie requestu.
<?php
class StoreUserRequest extends FormRequest
{
public function authorize(): bool { return true; }
public function rules(): array {
return [
"name" => "required|string|max:255",
"email" => "required|email|unique:users",
];
}
}Grupowanie tras API
Trasy API należy grupować za pomocą prefiksu i przestrzeni nazw.
<?php
Route::prefix("v1")->middleware("auth:sanctum")->group(function () {
Route::apiResource("posts", PostController::class);
Route::apiResource("users", UserController::class);
});except() i only()
Należy wykluczać określone trasy z rejestracji zasobu lub ograniczać ją do nich.
<?php
Route::apiResource("users", UserController::class)->only(["index", "show"]);
Route::apiResource("posts", PostController::class)->except(["destroy"]);Zasoby zagnieżdżone
Należy rejestrować zagnieżdżone trasy zasobów dla powiązanych modeli.
<?php
Route::apiResource("users.posts", UserPostController::class);
// GET /api/users/{user}/posts/{post}Podsumowanie
Należy używać Route::apiResource() do definiowania tras RESTful API w pliku routes/api.php. Kontrolery należy generować za pomocą --api. Należy zwracać JSON z odpowiednimi kodami statusu HTTP. Do walidacji należy używać Form Request.
Szybkie sprawdzenie
Ile tras rejestruje apiResource()?
Ucz się PHP dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 49
- Lekcje
- 195
Często zadawane pytania
Czy lekcja „Trasy API i kontrolery zasobów” jest bezpłatna?
Tak — pełny tekst „Trasy API i kontrolery zasobów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Trasy API i kontrolery zasobów”?
Rejestruj trasy RESTful i generuj kontrolery zasobów za pomocą Artisan Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Trasy API i kontrolery zasobów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Trasy API i kontrolery zasobów
- Zasoby API i odpowiedzi JSON
- Uwierzytelnianie za pomocą Laravel Sanctum
- Ograniczanie częstotliwości i wersjonowanie API