Implementação da Validação UTF-8 em um Aplicativo NestJS

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.

Você achou esse artigo útil?