Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:back-end_framework:express:adatok_fogadasa

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
oktatas:web:back-end_framework:express:adatok_fogadasa [2025/07/19 01:27] – [Express - Adatok fogadása] adminoktatas:web:back-end_framework:express:adatok_fogadasa [2025/08/01 10:11] (aktuális) – eltávolítva admin
Sor 1: Sor 1:
-[[:oktatas:web:back-end_framework:express|< Express]] 
- 
-====== Express - Adatok fogadása ====== 
- 
-  * **Szerző:** Sallai András 
-  * Copyright (c) 2023, Sallai András 
-  * Szerkesztve: 2024, 2025 
-  * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] 
-  * Web: https://szit.hu 
- 
- 
-===== JSON adatok fogadása ===== 
- 
-REST API esetén az adatokat JSON formátumban szoktuk fogadni.  
- 
-Az express beépítve tartalmaz egy köztes szoftvert erre a célra, csak használatba kell venni: 
- 
-<code javascript> 
-app.use(express.json()); 
-</code> 
- 
-<code javascript app/index.js> 
-const express = require('express'); 
-const app = express(); 
-const router = require('./routes'); 
- 
-app.use(express.json()); 
-app.use('/api',router); 
- 
-app.listen(8000, () => { 
-    console.log('Listening: localhost:8000'); 
-}); 
-</code> 
- 
- 
-===== Projekt készítése ===== 
- 
-Készítsünk egy receive nevű projektet. 
- 
-<code> 
-receive/ 
-  |-app/ 
-  |  |-controllers/ 
-  |  |-routes/ 
-  |  |  `-api.js 
-  |  `-index.js 
-  |-node_modules/ 
-  `-package.json 
-</code> 
- 
-Az alkalmazás belépési pontja továbbra is az index.js fájl. 
- 
-Telepítsük az express és a nodemon csomagokat: 
-  npm init -y 
-  npm install express 
-  npm install --save-dev nodemon 
- 
-Készítsük el a kontrollerünket, egyetlen store() függvénnyel: 
- 
-<code javascript app/controllers/employeecontroler.js> 
-const EmployeeController = { 
-    store(req, res) { 
-        res.json(req.body.name); 
-    } 
-} 
- 
-module.exports = EmployeeController; 
-</code> 
- 
-A store függvény visszaküldi a kapott értéket. 
- 
-Készítsünk hozzá egy routingot: 
- 
-<code javascript app/routes/api.js> 
-const Router = require('express'); 
-const router = Router(); 
-const EmployeeController = require('../controllers/employeecontrollers'); 
- 
-router.post('/employees', EmployeeController.store); 
- 
-module.exports = router; 
-</code> 
- 
-Készítsük el a belépési pontot: 
-<code javascript app/index.js> 
-const express = require('express'); 
-const app = express(); 
-const router = require('./routes/api'); 
- 
-app.use(express.json()); 
-app.use('/api',router); 
- 
-app.listen(8000, () => { 
-    console.log('Listening: localhost:8000'); 
-}); 
-</code> 
- 
-Készítsünk start scriptet: 
- 
-<code javascript> 
-{ 
-  "scripts": { 
-    "start": "nodemon app --watch app" 
-  }, 
-} 
-</code> 
- 
-Indítsuk el az szervert: 
-  npm start 
- 
-Ellenőrizzük a választ: 
-  res localhost:8000/api/employees 
-  res localhost:8000/api/employees name='Árpád' 
- 
-Amikor nem küldünk adatokat, egy üres választ kell kapjunk. 
-Ha küldünk egy nevet, vissza kell kapjuk a nevet. 
- 
-===== Érvényesség ellenőrzése ===== 
- 
-<code javascript app/controllers/employeecontroller.js> 
-const EmployeeController = { 
- 
-    store(req, res) { 
-        if(!req.body.name) { 
-            res.status(400); 
-            res.json({  
-                success: false,  
-                message: 'Bad request' 
-            }); 
-        } 
-        res.status(200) 
-        res.json(req.body.name ); 
-    } 
-} 
- 
-module.exports = EmployeeController; 
-</code> 
- 
-===== Paraméterek fogadása ===== 
- 
-Az update és a delete művelet esetén az adott felhasználó azonosítóját paraméterként adjuk át az URL-ben. Például: 
-  http://localost:8000/api/valami/28 
-A 28 paramétert adjuk át a mintában. 
- 
- 
-Egészítsük ki az EmployeeController-t egy delete() függvénnyel: 
- 
-<code javascript app/controllers/employeecontroller.js> 
-const EmployeeController = { 
- 
-    store(req, res) { 
-        if(!req.body.name) { 
-            res.status(400); 
-            res.json({  
-                success: false,  
-                message: 'Bad request' 
-            }); 
-        } 
-        res.status(200); 
-        res.json(req.params.id); 
-    }, 
-    delete(req, res) { 
-        if(!req.params.id) { 
-            res.status(400); 
-            res.json({  
-                success: false,  
-                message: 'Bad request' 
-            }); 
-        } 
-        res.status(200) 
-        res.json(req.body.name );         
-    } 
-} 
- 
-module.exports = EmployeeController; 
-</code> 
- 
-A delete esetén egy azonosítót várunk paraméterként. A példánkban ezt is megvizsgáljuk, ha nem érkezett ilyen, akkor sikertelen kérés a válasz. 
- 
-Vegyünk fel egy új útválasztási sort: 
-<code javascript> 
-router.delete('/employees/:id', EmployeeController.delete); 
-</code> 
-A :id mondja meg, hogy "id" néven egy paramétert fogunk küldeni. 
- 
-A teljes api.js ekkor: 
- 
-<code javascript app/routes/api.js> 
-const Router = require('express'); 
-const router = Router(); 
-const EmployeeController = require('../controllers/employeecontrollers'); 
- 
-router.post('/employees', EmployeeController.store); 
-router.delete('/employees/:id', EmployeeController.delete); 
- 
-module.exports = router; 
-</code> 
- 
- 
-===== Adatok frissítése - update ===== 
-Egészítsük ki az EmployeeControllert egy update függvénnyel: 
-<code javascript> 
-    update(req, res) { 
-        if(!req.params.id || !req.body.name) { 
-            res.status(400); 
-            res.json({ 
-                success: false, 
-                message: 'Bad request' 
-            }); 
-        } 
-        res.status(201); 
-        res.json({ id: req.params.id, name: req.body.name}); 
-    } 
-</code> 
- 
-A teljes kód: 
- 
-<code javascript app/controllers/employeecontroller.js> 
-const EmployeeController = { 
- 
-    store(req, res) { 
-        if(!req.body.name) { 
-            res.status(400); 
-            res.json({  
-                success: false,  
-                message: 'Bad request' 
-            }); 
-        } 
-        res.status(200) 
-        res.json(req.body.name ); 
-    }, 
-    delete(req, res) { 
-        if(!req.params.id) { 
-            res.status(400); 
-            res.json({  
-                success: false,  
-                message: 'Bad request' 
-            }); 
-        } 
-        res.status(200); 
-        res.json(req.params.id); 
-    }, 
-    update(req, res) { 
-        if(!req.params.id || !req.body.name) { 
-            res.status(400); 
-            res.json({ 
-                success: false, 
-                message: 'Bad request' 
-            }); 
-        } 
-        res.status(201); 
-        res.json({ id: req.params.id, name: req.body.name}); 
-    } 
-} 
- 
-module.exports = EmployeeController; 
-</code> 
- 
-Vegyünk fel hozzá egy új routingot: 
-<code javascript> 
-router.put('/employees/:id', EmployeeController.update); 
-</code> 
- 
-A teljes api.js: 
- 
-<code javascript app/routes/api.js> 
-const Router = require('express'); 
-const router = Router(); 
-const EmployeeController = require('../controllers/employeecontrollers'); 
- 
-router.post('/employees', EmployeeController.store); 
-router.delete('/employees/:id', EmployeeController.delete); 
-router.put('/employees/:id', EmployeeController.update); 
- 
-module.exports = router; 
-</code> 
- 
-Teszteljük a put metódust: 
-  res put localhost:8000/api/employees/30 name='Árpád' 
- 
  
oktatas/web/back-end_framework/express/adatok_fogadasa.1752881245.txt.gz · Utolsó módosítás: 2025/07/19 01:27 szerkesztette: admin