Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problemas CORS/GATEWAY

olá, por favor, estou no curso de angular, já passei por outros tópicos e estou com problemas em alguns endpoints especificos do projeto memoteca, desenvolvi todo o back end com spring boot/postgresql e esta funcionando normalmente, quando abro a aplicação, esta me trazendo os registros pré cadastrados manualmente no banco, pois estou enfrentando problemas com o CORS para gravar , alterar ou excuir algum registro, porem, a listagem funciona normalmente. no meu projeto, estou utilizando o service discovery e API Gateway em projetos que estão rodando separadamente , e, no projeto do back end, estou com esta configuração para o CORS, mas ocorre que ao tentar gravar um novo registro, me retorna o erro [erro no nagevador , conforme imagem] . se insiro um registro direto pelo postman, a operação é realizada normalmente. poderia me dar um auxilio para ajustar onde estou errando ? obrigado. registro inserido pelo postmanerro no navegador

configuração do CORS

2 respostas
solução!

Olá, Patrícia! Tudo bem?

Pelo que você descreveu, parece que o problema está relacionado com a configuração do CORS no seu projeto Spring Boot. O erro que aparece no navegador indica que a política de CORS está bloqueando a requisição porque a resposta à solicitação preflight não está passando no controle de acesso. Alguns pontos precisam ser verificados pra resolver o problema:

  1. Verifique o Endpoint do API Gateway: Verifique se o endpoint do API Gateway também está configurado para permitir o CORS. Às vezes, o problema pode estar na configuração do gateway e não no serviço em si.

  2. Atualize a Configuração do CORS: Na sua configuração atual, você está permitindo origens apenas de http://localhost:4200. Se o seu frontend estiver sendo servido de outro domínio ou porta, você precisará adicionar essa origem também. Tente usar allowedOrigins("*") temporariamente para testes, mas lembre-se de restringir isso se for publicar o projeto por questões de segurança.

  3. Verifique os Headers: Verifique se todos os headers necessários estão sendo permitidos. Você pode adicionar HttpHeaders.ACCEPT, HttpHeaders.ORIGIN, HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, entre outros, conforme necessário.

  4. Teste com Credenciais: Não sei se está usando autenticação, mas se sim, pode ser necessário permitir credenciais. Altere allowCredentials(false) para allowCredentials(true) e veja se isso resolve o problema.

  5. Verifique o API Gateway: Se você estiver usando um API Gateway, verifique se ele está configurado para passar os headers de CORS corretamente.

Teste esses passos e veja se consegue resolver o problema. Espero ter ajudado e em caso de qualquer dúvida, conte com o apoio do fórum!

Um abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Olá Rafaela, obrigado pelo retorno, realmente o problema estava na configuração do cors na APi Gateway, vou deixar abaixo a solução, futuramente caso alguém precise, esta foi a alteração no meu caso direto na API Gateway. Insira aqui a descrição dessa imagem para ajudar na acessibilidade