Quebrei a cabeça para resolver esse problema ao tentar cadastrar um abrigo, e a dificuldade estava na requisição sendo enviada de forma incorreta. Não sei se isso poderá ajudar, mas foi a solução que encontrei depois de várias tentativas.
Por conta da API não ter uma documentação disponível, "não havia" como saber quais eram os valores aceitos por ela (entretanto, olhar o console de execução dela, pode fornecer algumas dicas). Usei bastante o modo Debugger do IntelliJ para investigar o que estava acontecendo.
Para testar a API, usei o Insomnia e fiz algumas requisições tipo POST até encontrar um payload válido, com todas as informações necessárias e aceitas pela API. O exemplo que utilizei foi:
{
"nome": "Abrigo Esperança",
"endereco": "Rua das Flores, 123",
"email": "contato@abrigoesperanca.com",
"telefone": "1112345678"
}
Logo, a API respondeu com o status 200, confirmando que estava funcionando. Então, analisando no debugger, percebi que o objeto JSON que estava sendo gerado no meu código Java não estava sendo populado com todos os campos.
Após identificar o problema, fiz algumas alterações na minha classe para garantir que os dados fossem preenchidos corretamente. Com essas mudanças, a requisição passou a funcionar, e consegui cadastrar o abrigo com todas as informações.
Vou deixar o link do meu repositorio com os códigos devido a limitacao de caracteres:
https://github.com/GiselleBarbosa/java-alura-cursos/commit/90a763e310481d61e8516a9bfc6687dcae9af7ce
e
https://github.com/GiselleBarbosa/java-alura-cursos/commit/5df6b3ed72599f1f566f029b25b06e063bc1e670
Espero que ajude!! :)