API-Routen und Ressourcencontroller
Registrieren Sie RESTful-Routen und generieren Sie Ressourcencontroller mit Artisan.
API-Routen und Ressourcencontroller ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
API-Routen in Laravel
Definieren Sie API-Routen in routes/api.php. Diesen Routen wird automatisch das Präfix /api vorangestellt, und sie verwenden die Middleware-Gruppe api (zustandslos – keine Sitzungen oder Cookies).
Grundlegende API-Route
Geben Sie JSON aus einer Closure zurück.
<?php
Route::get("/users/{id}", function (int $id) {
$user = User::findOrFail($id);
return response()->json($user);
});API-Resource-Routen
Route::apiResource() registriert fünf RESTful-Routen (ohne create und edit, die Formulare rendern).
<?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} → destroyEinen API-Controller generieren
Verwenden Sie das Flag --api, um einen Controller ohne die Methoden create und edit zu generieren.
$ php artisan make:controller Api/UserController --api --model=UserBeispiel für einen API-Controller
Ein API-Controller gibt JSON-Responses zurück.
<?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);
}
}HTTP-Statuscodes
Geben Sie passende Statuscodes zurück: 200 (OK), 201 (Erstellt), 204 (Kein Inhalt), 400 (Fehlerhafte Anfrage), 401 (Nicht authentifiziert), 403 (Zugriff verweigert), 404 (Nicht gefunden), 422 (Nicht verarbeitbare Entität).
Validierung mit Form Requests
Verwenden Sie Form Requests für übersichtliche und wiederverwendbare Validierungsregeln.
$ php artisan make:request StoreUserRequestBeispiel für StoreUserRequest
Definieren Sie Regeln und Autorisierung in der Request-Klasse.
<?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",
];
}
}Gruppierte API-Routen
Gruppieren Sie API-Routen mit Präfix und Namespace.
<?php
Route::prefix("v1")->middleware("auth:sanctum")->group(function () {
Route::apiResource("posts", PostController::class);
Route::apiResource("users", UserController::class);
});except() und only()
Schließen Sie bestimmte Routen bei einer Resource-Registrierung aus oder beschränken Sie die Registrierung auf diese Routen.
<?php
Route::apiResource("users", UserController::class)->only(["index", "show"]);
Route::apiResource("posts", PostController::class)->except(["destroy"]);Verschachtelte Resources
Registrieren Sie verschachtelte Resource-Routen für verbundene Modelle.
<?php
Route::apiResource("users.posts", UserPostController::class);
// GET /api/users/{user}/posts/{post}Zusammenfassung
Verwenden Sie Route::apiResource() für RESTful-API-Routen in routes/api.php. Generieren Sie Controller mit --api. Geben Sie JSON mit passenden HTTP-Statuscodes zurück. Validieren Sie mit Form Requests.
Kurzer Check
Wie viele Routen registriert apiResource()?
Häufig gestellte Fragen
Ist die Lektion „API-Routen und Ressourcencontroller“ kostenlos?
Ja — der vollständige Text von „API-Routen und Ressourcencontroller“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „API-Routen und Ressourcencontroller“?
Registrieren Sie RESTful-Routen und generieren Sie Ressourcencontroller mit Artisan. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „API-Routen und Ressourcencontroller“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- API-Routen und Ressourcencontroller
- API-Ressourcen und JSON-Antworten
- Authentifizierung mit Laravel Sanctum
- Ratenbegrenzung und API-Versionierung