Implementação da Validação UTF-8 em um Aplicativo NestJS
Objetivo
O objetivo deste documento é fornecer orientações sobre a implementação da validação UTF-8 em um aplicativo NestJS.
Requisitos
Para implementar a validação UTF-8 em seu aplicativo NestJS, você precisará do seguinte:
- Node.js e npm instalados
- Um aplicativo NestJS em funcionamento
Passos de Implementação
Passo 1: Crie um Middleware Personalizado
Crie um middleware personalizado que verifica o cabeçalho 'Content-Type' das solicitações para garantir que ele contenha o charset UTF-8. Você pode nomear esse middleware como 'Utf8Middleware'.
import { Injectable, NestMiddleware } from '@nestjs/common';
import { Request, Response, NextFunction } from 'express';
@Injectable()
export class Utf8Middleware implements NestMiddleware {
use(req: Request, res: Response, next: NextFunction) {
const contentType = req.get('Content-Type');
if (!contentType || !contentType.includes('charset=utf-8')) {
return res.status(415).send('Unsupported Media Type. Use UTF-8 encoding.');
}
next();
}
}
Passo 2: Registre o Middleware no Módulo Principal
No módulo principal (geralmente 'app.module.ts'), registre o middleware 'Utf8Middleware' para aplicá-lo a todas as rotas do aplicativo.
import { Module, MiddlewareConsumer, RequestMethod } from '@nestjs/common';
import { Utf8Middleware } from './utf8-middleware';
@Module({
// Outros provedores e controladores
})
export class AppModule {
configure(consumer: MiddlewareConsumer) {
consumer
.apply(Utf8Middleware)
.forRoutes({ path: '*', method: RequestMethod.ALL });
}
}
Passo 3: Teste a Implementação
Teste a implementação do middleware usando ferramentas como o Postman. Certifique-se de que o middleware responde adequadamente a solicitações que não incluem o charset UTF-8 no cabeçalho 'Content-Type'.
Conclusão
A implementação da validação UTF-8 em um aplicativo NestJS ajuda a garantir que as solicitações usem a codificação correta, promovendo a integridade dos dados transmitidos.