Garantindo estruturas de dados e tipos corretos
Além de validar entradas, podemos usar o Zod para garantir que as respostas enviadas por uma API sigam uma estrutura de dados específica. Isso é crucial para garantir que o cliente que consome a API receba sempre uma resposta no formato correto.
Vamos ver um exemplo onde garantimos que os dados retornados pela API estejam corretos, tanto em formato quanto em tipo.
Exemplo 2: Garantindo tipos corretos na resposta da API
Neste exemplo, validamos os dados antes de enviá-los de volta ao cliente para garantir que a estrutura está correta.
Explicação
- Schema: O
productSchema
define a estrutura que cada produto deve seguir:id
(número),name
(string),price
(número positivo), einStock
(booleano). - Validação: Antes de enviar a lista de produtos, utilizamos
productsSchema.parse()
para garantir que cada item da lista siga o formato correto. Isso assegura que o cliente sempre receba os dados com a estrutura correta. - Erro: Se os dados não estiverem no formato esperado, retornamos um erro com status 400.
Conclusão
Usando Zod com as API Routes do Next.js, podemos garantir que tanto os dados recebidos quanto os dados enviados sigam a estrutura correta, assegurando que nossa API seja robusta e confiável. Isso evita problemas com dados mal formatados e melhora a comunicação entre o backend e o frontend.