2025. április 10., csütörtök

Students api - Rigó Dávid megoldása és jegyzete

Students api

a Students adatbázishoz tartozó Laravel api elkészítése
Kezdés:

laravel new studens

A következő lépésben a starter kit-ek közül a none-t válasszuk, majd a Pest-et

Az adatbázis választásnál a mysql-t válasszuk

Modell

php artisan make:model Students

A létrejött Students.php file-t az app/Models mappában találjuk, a fájlra navigálás után a következő kódot illesszük be:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Students extends Model

{

// itt tudjuk beállítani az adatbázisban lévő

            //táblát, amivel szeretnénk dolgozni

    protected $table = 'students';

            //(opcionális) beállíthatjuk az elsődleges kulcsot is

    protected $primaryKey = 'id';

            //ha a $timestamps-ot false-ra állítjuk akkor az adatbázis

            // created_at, updated_at mezőit letiltja

    public $timestamps = false;

            //a $fillable-ben megadhatjuk az kiválaszott táblában lévő mezőket a        amelyekkel szeretnénk dolgozni

    protected $fillable = ['name', 'email', 'age'];

}

Controller

php artisan make:controller StudentsController –api

Ez a kontroller a diákok a adatainak kezelésére szolgál, A kontroller CRUD műveleteket hajt végre metódusok segítségével.

a létrejött StudentsController.php filet az app/http/Controllers mappában találjuk, a fájlra navigálás után a következő kódot illesszük be:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\Students;

class StudentController extends Controller

{

    public function index()

    {

        return Students::all();

    }

    public function store(Request $request)

    {

try {

        $menet = Students::create($request->only(['name', 'email', 'age']));

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

    } catch (\Exception $e) {

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

    }    }

    public function show($azon)

    {

        return Students::findOrFail($azon);

    }

    public function update(Request $request, $azon)

    {

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

        $menetrend->update($request->only(['name', 'email', 'age']));

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

    }

    public function destroy($azon)

    {

        Students::destroy($azon);

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

    }

}

Routes

php artisan install:api

amint létrejött az api.php file a routes mappában a következó kódot illesszük be

<?php

use Illuminate\Http\Request;

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\MenetrendController;

use App\Http\Controllers\StudentController;

Route::apiResource('student', StudentController::class);

 

Összegző

ha minden jól megy akkor az következő paranccsal elindíthatjuk a projektet

php artisan serve

ha tesztelni szeretnénk az api működését akkor valamilyen api tesztelő alkalmazást/extension-t használhatunk (Postman, EchoApi)

ahol a new http Request hombra kattintva


elérhetővé válik a controll panel az „Enter URL or paste text” mezőbe illesszük be a megnyitott projekt URL-jét és a tezsteléshez még egy /api/student –et kell írnunk

(pl.: http://127.0.0.1:8000/api/students)

5 fajta tesztelési lehetőségünk van a Controllerben eddig definiáltak alapján

(GET,GET{id},POST,PUT{id},DELETE{id})

adatbázis

CREATE TABLE `students`(

  `id` int(11) NOT NULL,

  `name` varchar(100) NOT NULL,

  `email` varchar(150) NOT NULL,

  `age` int(11) NOT NULL,

  `created_at` timestamp NOT NULL DEFAULT current_timestamp()

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

 

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 ...