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.