2025. április 9., szerda

Laravel 12 -vel REST API - hajomenetrend feladat megoldása

laravel new hajomenetrend

none

mysql

npm rund build

yes

.env ->adatbázis nevet javítsd

php artisan make:model Menetrend

app/Models/Menetrend.php fájl tartalma:

<?php

 

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Menetrend extends Model

{

    protected $table = 'menetrend';

    protected $primaryKey = 'azon';

    public $timestamps = false;

    protected $fillable = ['jarat', 'honnan', 'hova', 'indul', 'erkezik'];

}

php artisan make:controller MenetrendController –api

app/Http/Controllers/MenetrendController.php:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\Menetrend;

class MenetrendController extends Controller

{

    public function index()

    {

        return Menetrend::all();

    }

    public function store(Request $request)

    {

try {

        $menet = Menetrend::create($request->only(['jarat', 'honnan', 'hova', 'indul', 'erkezik']));

        return response()->json($menet, 201);

    } catch (\Exception $e) {

        return response()->json(['error' => $e->getMessage()], 500);

    }    }

 

    public function show($azon)

    {

        return Menetrend::findOrFail($azon);

    }

 

    public function update(Request $request, $azon)

    {

        $menetrend = Menetrend::findOrFail($azon);

        $menetrend->update($request->only(['jarat', 'honnan', 'hova', 'indul', 'erkezik']));

        return response()->json($menetrend);

    }

 

    public function destroy($azon)

    {

        Menetrend::destroy($azon);

        return response()->json(['message' => 'Törölve']);

    }

}

php artisan install:api

routes/api.php fájlba:

use App\Http\Controllers\MenetrendController;

Route::apiResource('menetrend', MenetrendController::class);

Teszt:

php artisan serve

GET /api/menetrend – összes hajójárat

GET /api/menetrend/1 – 1 járat

POST /api/menetrend – új járat

{

  "jarat": "B55",

  "honnan": "Tihany",

  "hova": "Balatonfüred",

  "indul": "12:00:00",

  "erkezik": "12:45:00"

}

PUT /api/menetrend/1 – módosítás

DELETE /api/menetrend/1 – törlés

a hajómenetrend táblához hozzá kell adni, mivel az azon nem auto increment

ALTER TABLE menetrend MODIFY COLUMN azon INT NOT NULL AUTO_INCREMENT;

Nincsenek megjegyzések:

Megjegyzés küldése

Tanfolyami jelentkezés – HTML űrlap készítése, adatok feldolgozása PHP-val, validációval és formázással

  HTML űrlap (jelentkezes.html) Készíts egy HTML oldalt, amely egy tanfolyamra történő jelentkezési űrlapot jelenít meg. Az űrlap legyen ...