Schritt 1: Laravel Installation
composer create-project --prefer-dist laravel/laravel example-api
Schritt 2: Datenbankkonfiguration
cd example-api
Schritt 3: Erstellung einer Migration
php artisan make:migration create_products_table
Schritt 4: Ausführen der Migration
php artisan migrate
Schritt 5: Erstellung des Models
php artisan make:model Product
Schritt 6: Erstellung der Routen
Schritt 7: Erstellung des Controllers
php artisan make:controller ProductController
Schritt 8: Implementierung der Controller-Methoden
<?php
namespace App\Http\Controllers;
use App\Models\Product;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class ProductController extends Controller
{
/**
* Alle Produkte abrufen.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$products = Product::all();
return response()->json($products, 200);
}
/**
* Ein neues Produkt erstellen.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'name' => 'required|string',
'description' => 'required|string',
'price' => 'required|numeric',
]);
$product = Product::create($request->all());
return response()->json($product, 201);
}
/**
* Ein bestimmtes Produkt anzeigen.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$product = Product::findOrFail($id);
return response()->json($product, 200);
}
/**
* Ein Produkt aktualisieren.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$request->validate([
'name' => 'required|string',
'description' => 'required|string',
'price' => 'required|numeric',
]);
$product = Product::findOrFail($id);
$product->update($request->all());
return response()->json($product, 200);
}
/**
* Ein Produkt löschen.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$product = Product::findOrFail($id);
$product->delete();
return response()->json(null, 204);
}
}
Info
Diese Methoden verwenden die Eloquent-Methoden von Laravel, um mit der Datenbank zu interagieren, und geben JSON-Antworten entsprechend den HTTP-Statuscodes zurück. Außerdem werden die Eingaben mit Laravel-Validierungsregeln überprüft, um sicherzustellen, dass die Daten korrekt sind.
Kommentare 0
Noch keine Kommentare. Seien Sie der Erste!