Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:back-end_framework:express:typescript_ervenyesseg

< Express

Express - TypeScript validálás

Projekt

src/index.js
import express, { Application, Request, Response } from 'express';
import router from './routes/api';
 
const app: Application = express();
 
const PORT = 8000;
 
app.use(express.json())
app.use('/', router)
 
app.listen(PORT, () => {
    console.log(`Running: localhost:${PORT}`);
});

Routing

src/routes/api.js
import { Router } from 'express';
import { validate } from '../middleware/validate';
import { EmpController } from '../controllers/empController';
 
const router = Router();
 
router.get('/msg', EmpController.index);
router.post('/msg', [validate], EmpController.store);
 
export default router;

Kontroller

src/controllers/empController.js
import { Router } from 'express';
import { validate } from '../middleware/validate';
import { EmpController } from '../controllers/empController';
 
const router = Router();
 
router.get('/msg', EmpController.index);
router.post('/msg', [validate], EmpController.store);
 
export default router;

Érvényesség ellenőrzése

Az érvényességet egy köztes szoftverrel fogjuk ellenőrizni:

src/middleware/validate.js
import Joi from '@hapi/joi';
import { NextFunction, Request, Response } from 'express';
 
const schema = Joi.object({
    name: Joi.string().required(),
    city: Joi.string().min(2)
})
 
const validate = (req: Request, res: Response, next: NextFunction) => {
    const { error } = schema.validate(req.body);    
    if (error) {
      return res.status(400).send(error.details[0].message);
    }
    next()
};
 
export { validate }
oktatas/web/back-end_framework/express/typescript_ervenyesseg.txt · Utolsó módosítás: 2024/05/17 23:58 szerkesztette: admin