Pessoal, como não temos acesso à documentação da API, demorei bastante para entender por que eu instanciava o objeto corretamente, enviava no formato JSON e mesmo assim a requisição continuava falhando.
Seguindo a sugestão de uma colega, percebi que o formato que funciona (testado no Postman) é o seguinte:
{
"nome": "Abrigo Esperança",
"endereco": "Rua das Flores, 123",
"email": "contato@abrigoesperanca.com",
"telefone": "1112345678"
}
O problema ocorre porque o campo endereco precisa obrigatoriamente estar presente no objeto Abrigo, além de existirem algumas validações implícitas na API, como:
quantidade específica de dígitos no telefone
presença de “@” no e-mail
Conselho: fiquem atentos às mensagens exibidas no terminal da API, pois elas ajudam a identificar o motivo do erro.
Outro ponto importante: ao importar arquivos, pode aparecer erro informando que o tipo de animal não é reconhecido. Isso acontece porque o enum da API aceita apenas valores em maiúsculo (CACHORRO e GATO).
Uma forma simples de resolver é converter o valor para maiúsculo antes de atribuir:
this.tipo = tipo.toUpperCase();