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.
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] admin | oktatas:web:back-end_framework:express:adatok_fogadasa [2025/08/01 10:11] (aktuális) – eltávolítva admin | ||
---|---|---|---|
Sor 1: | Sor 1: | ||
- | [[: | ||
- | |||
- | ====== Express - Adatok fogadása ====== | ||
- | |||
- | * **Szerző: | ||
- | * Copyright (c) 2023, Sallai András | ||
- | * Szerkesztve: | ||
- | * Licenc: [[https:// | ||
- | * Web: https:// | ||
- | |||
- | |||
- | ===== 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 javascript app/ | ||
- | const express = require(' | ||
- | const app = express(); | ||
- | const router = require(' | ||
- | |||
- | app.use(express.json()); | ||
- | app.use('/ | ||
- | |||
- | app.listen(8000, | ||
- | console.log(' | ||
- | }); | ||
- | </ | ||
- | |||
- | |||
- | ===== Projekt készítése ===== | ||
- | |||
- | Készítsünk egy receive nevű projektet. | ||
- | |||
- | < | ||
- | receive/ | ||
- | |-app/ | ||
- | | |-controllers/ | ||
- | | |-routes/ | ||
- | | | `-api.js | ||
- | | `-index.js | ||
- | |-node_modules/ | ||
- | `-package.json | ||
- | </ | ||
- | |||
- | 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, | ||
- | |||
- | <code javascript app/ | ||
- | const EmployeeController = { | ||
- | store(req, res) { | ||
- | res.json(req.body.name); | ||
- | } | ||
- | } | ||
- | |||
- | module.exports = EmployeeController; | ||
- | </ | ||
- | |||
- | A store függvény visszaküldi a kapott értéket. | ||
- | |||
- | Készítsünk hozzá egy routingot: | ||
- | |||
- | <code javascript app/ | ||
- | const Router = require(' | ||
- | const router = Router(); | ||
- | const EmployeeController = require(' | ||
- | |||
- | router.post('/ | ||
- | |||
- | module.exports = router; | ||
- | </ | ||
- | |||
- | Készítsük el a belépési pontot: | ||
- | <code javascript app/ | ||
- | const express = require(' | ||
- | const app = express(); | ||
- | const router = require(' | ||
- | |||
- | app.use(express.json()); | ||
- | app.use('/ | ||
- | |||
- | app.listen(8000, | ||
- | console.log(' | ||
- | }); | ||
- | </ | ||
- | |||
- | Készítsünk start scriptet: | ||
- | |||
- | <code javascript> | ||
- | { | ||
- | " | ||
- | " | ||
- | }, | ||
- | } | ||
- | </ | ||
- | |||
- | Indítsuk el az szervert: | ||
- | npm start | ||
- | |||
- | Ellenőrizzük a választ: | ||
- | res localhost: | ||
- | res localhost: | ||
- | |||
- | 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/ | ||
- | 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; | ||
- | </ | ||
- | |||
- | ===== 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:// | ||
- | 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/ | ||
- | 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; | ||
- | </ | ||
- | |||
- | A delete esetén egy azonosítót várunk paraméterként. A példánkban ezt is megvizsgáljuk, | ||
- | |||
- | Vegyünk fel egy új útválasztási sort: | ||
- | <code javascript> | ||
- | router.delete('/ | ||
- | </ | ||
- | A :id mondja meg, hogy " | ||
- | |||
- | A teljes api.js ekkor: | ||
- | |||
- | <code javascript app/ | ||
- | const Router = require(' | ||
- | const router = Router(); | ||
- | const EmployeeController = require(' | ||
- | |||
- | router.post('/ | ||
- | router.delete('/ | ||
- | |||
- | module.exports = router; | ||
- | </ | ||
- | |||
- | |||
- | ===== 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, | ||
- | } | ||
- | </ | ||
- | |||
- | A teljes kód: | ||
- | |||
- | <code javascript app/ | ||
- | 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, | ||
- | } | ||
- | } | ||
- | |||
- | module.exports = EmployeeController; | ||
- | </ | ||
- | |||
- | Vegyünk fel hozzá egy új routingot: | ||
- | <code javascript> | ||
- | router.put('/ | ||
- | </ | ||
- | |||
- | A teljes api.js: | ||
- | |||
- | <code javascript app/ | ||
- | const Router = require(' | ||
- | const router = Router(); | ||
- | const EmployeeController = require(' | ||
- | |||
- | router.post('/ | ||
- | router.delete('/ | ||
- | router.put('/ | ||
- | |||
- | module.exports = router; | ||
- | </ | ||
- | |||
- | Teszteljük a put metódust: | ||
- | res put localhost: | ||
- | |||
oktatas/web/back-end_framework/express/adatok_fogadasa.1752881245.txt.gz · Utolsó módosítás: 2025/07/19 01:27 szerkesztette: admin