1
resposta

[Dúvida] Explicação sobre CORS

Por gentileza, explique o que seria o tipo de problema na resposta do tópico Erro no cadastro destacado abaixo:

CORS: Se estiver testando localmente, verifique se não há problemas relacionados ao CORS (Cross-Origin Resource Sharing). Isso pode impedir que as requisições sejam feitas corretamente.

Poderia explicar esse problema e citar alguns exemplos práticos de quando isso acontece e formas de corrigir?

Obrigado desde já.

1 resposta

OLA!

CORS (Cross-Origin Resource Sharing) é uma regra de segurança dos navegadores que bloqueia requisições feitas de um site para outro domínio diferente (origem diferente), a menos que o servidor permita isso explicitamente.

Exemplo prático:

Você está rodando seu front-end em http://localhost:3000 e tenta acessar uma API em http://localhost:8000. O navegador bloqueia a requisição se o servidor da API não permitir essa origem (localhost:3000).

Como corrigir:

No servidor da API, é preciso habilitar o CORS, permitindo chamadas de outras origens. Isso varia conforme a linguagem/framework usado:

  • Em Node.js (Express):

    const cors = require('cors');
    app.use(cors()); // Permite todas as origens
    
  • Em Spring Boot (Java):

    @CrossOrigin(origins = "http://localhost:3000")
    @RestController
    
  • Em Flask (Python):

    from flask_cors import CORS
    CORS(app)
    

Se estiver testando localmente, sempre verifique se a origem do front-end está sendo permitida pelo back-end. Isso costuma resolver o erro de CORS.