Descrição
Precisamos aprimorar o processo de validação de requisições do nosso servidor HTTP. O objetivo é realizar algumas modificações essenciais para melhorar a estrutura e funcionalidade da validação de schemas, além de facilitar a documentação das rotas. A seguir, detalho as mudanças necessárias:
Primeiramente, é necessário modificar o adaptador de validação de requisições para armazenar os schemas de validação em um mapa dentro do servidor HTTP. Esse mapa deve ser capaz de guardar e fornecer os schemas de validação conforme necessário durante o processo de tratamento das requisições. A implementação dessa funcionalidade garantirá que todos os schemas de validação sejam centralizados e facilmente acessíveis, para poderem ser manipulados posteriormente.
Em seguida, devemos adaptar a função original de validação para operar a partir de sua nova localização no servidor HTTP. Isso inclui mover a função para a nova estrutura e atualizar todas as referências e chamadas para que apontem corretamente para a nova localização.
Além disso, é fundamental fazer o bind dos schemas de validação na classe Router. Isso significa que cada rota no servidor deve estar associada ao seu respectivo schema de validação se a mesma existir. A implementação dessa lógica garantirá que, durante o tratamento de cada requisição, o schema correto seja utilizado para validar os dados recebidos, mantendo a integridade e segurança da aplicação e a possibilidade da criação de uma documentação automatizada.
Outro ponto importante é a instalação e utilização do Zod para reforçar a tipagem dos schemas de validação. O Zod é uma biblioteca poderosa que facilita a definição e validação de tipos em JavaScript/TypeScript. A refatoração do código para utilizar o Zod permitirá que os schemas sejam mais robustos e que a validação seja mais precisa. Além disso, o uso do Zod facilitará a manutenção e a escalabilidade do código devido sua alta adesão ao Fastify (nossa atual biblioteca HTTP).
Por fim, precisamos possibilitar a documentação das rotas utilizando Swagger, aproveitando os schemas definidos pelo Zod. O Swagger, utilizando o @fastify-swagger
Critérios de Aceitação
Referências
Descrição
Precisamos aprimorar o processo de validação de requisições do nosso servidor HTTP. O objetivo é realizar algumas modificações essenciais para melhorar a estrutura e funcionalidade da validação de schemas, além de facilitar a documentação das rotas. A seguir, detalho as mudanças necessárias:
Primeiramente, é necessário modificar o adaptador de validação de requisições para armazenar os schemas de validação em um mapa dentro do servidor HTTP. Esse mapa deve ser capaz de guardar e fornecer os schemas de validação conforme necessário durante o processo de tratamento das requisições. A implementação dessa funcionalidade garantirá que todos os schemas de validação sejam centralizados e facilmente acessíveis, para poderem ser manipulados posteriormente.
Em seguida, devemos adaptar a função original de validação para operar a partir de sua nova localização no servidor HTTP. Isso inclui mover a função para a nova estrutura e atualizar todas as referências e chamadas para que apontem corretamente para a nova localização.
Além disso, é fundamental fazer o bind dos schemas de validação na classe Router. Isso significa que cada rota no servidor deve estar associada ao seu respectivo schema de validação se a mesma existir. A implementação dessa lógica garantirá que, durante o tratamento de cada requisição, o schema correto seja utilizado para validar os dados recebidos, mantendo a integridade e segurança da aplicação e a possibilidade da criação de uma documentação automatizada.
Outro ponto importante é a instalação e utilização do Zod para reforçar a tipagem dos schemas de validação. O Zod é uma biblioteca poderosa que facilita a definição e validação de tipos em JavaScript/TypeScript. A refatoração do código para utilizar o Zod permitirá que os schemas sejam mais robustos e que a validação seja mais precisa. Além disso, o uso do Zod facilitará a manutenção e a escalabilidade do código devido sua alta adesão ao Fastify (nossa atual biblioteca HTTP).
Por fim, precisamos possibilitar a documentação das rotas utilizando Swagger, aproveitando os schemas definidos pelo Zod. O Swagger, utilizando o @fastify-swagger
Critérios de Aceitação
Referências