Skip to main content

Validação de entrada

Quando você define um schema input, cada requisição é validada antes de executar o handler. Se a validação falhar, o handler não é executado e um 400 é retornado:

Exemplo com schema completo

index.ts

Tipos suportados

Você pode usar qualquer tipo Zod dentro de z.object():

Coerção em requisições GET

Para requisições GET, os parâmetros de query são strings. Use z.coerce para converter tipos automaticamente:
index.ts

Anotações .describe()

Use .describe() em cada campo para documentar os parâmetros. Essas descrições aparecem automaticamente no schema MCP, ajudando os agentes de IA a entender como usar sua função:

Validação de saída

Quando você define um schema output, o valor retornado pelo handler é validado após a execução. Se não corresponder:
  • Um aviso é registrado no log
  • A resposta é enviada normalmente com status 200
A validação de saída nunca bloqueia a resposta. É uma ferramenta de desenvolvimento para detectar inconsistências.
Se o handler retornar { name: "Maria", balance: "150" } (balance como string), você verá um aviso nos logs, mas o cliente recebe a resposta sem alterações.

Formato de erros de validação

Cada erro no array details contém: