oktatas:web:back-end_framework:express:typescript_ervenyesseg:joi
Tartalomjegyzék
Express - TypeScript validálás joi-val
- Szerző: Sallai András
- Copyright © 2024, Sallai András
- Web: https://szit.hu
Függőség
Az érvényesség ellenőrzéséhez a joi csomagot fogjuk használni.
npm install joi
Érvényesség ellenőrzése
Az érvényesség ellenőrzéséhez köztes szoftvert fogunk készíteni:
- src/middlewares/validate.ts
import Joi from 'joi'; import { NextFunction, Request, Response } from 'express'; const empSchema = Joi.object({ name: Joi.string().required(), city: Joi.string().min(2), salary: Joi.number() }) const empValidate = ( req: Request, res: Response, next: NextFunction): any => { const { error } = empSchema.validate(req.body); if (error) { res.status(400); return res.json({ error: error.details[0].message }); } next() }; export { empValidate }
Belépési pont
- src/index.ts
import express, { Request, Response } from 'express'; import router from './routes/api'; const app = express(); const PORT = 8000; app.use(express.json()); app.use('/api', router); app.listen(PORT, () => { console.log(`Server is running on http://localhost:${PORT}`); })
Routing
Az útvonalaknál használjuk a köztes szoftvert.
- src/routes/api.ts
import { Router } from 'express'; import EmpController from '../controllers/empController'; import { empValidate } from '../middlewares/validate'; const router = Router(); router.get('/employees', EmpController.index); router.post('/employees', [empValidate], EmpController.store); export default router;
Kontroller
- src/controllers/empController.ts
import { Request, Response } from "express" const EmpController = { index: (req : Request, res : Response) => { res.json({ employees : [] }) }, store: (req : Request, res : Response) => { res.json({ name: req.body.name }) } } export default EmpController
Linkek
oktatas/web/back-end_framework/express/typescript_ervenyesseg/joi.txt · Utolsó módosítás: 2024/12/28 16:02 szerkesztette: admin