Quando estamos desenvolvendo APIs RESTFULL, é comum esbarrarmos com erro de CORS do tipo
Esse bloqueio se da por conta do protocolo HTTP e precisamos resolver.
Existem várias soluções na internet, como alterar o .htaccess, instalar pacotes como o barryvdh/laravel-cors entre outros.
A solução que compartilho com vocês é bem simples e resolveu o meu problema no Laravel 6.
Vamos lá!
1- Crie um novo Middleware
php artisan make:middleware Cors
2- Adicione neste novo Middleware, localizado em app/Http/Middleware/Cors.php, o seguinte:
Dentro do método handle
public function handle($request, Closure $next)
{
return $next($request)
//Acrescente as 3 linhas abaixo
->header('Access-Control-Allow-Origin', "*")
->header('Access-Control-Allow-Methods', "PUT, POST, DELETE, GET, OPTIONS")
->header('Access-Control-Allow-Headers', "Accept, Authorization, Content-Type");
}
3- Edite o arquivo app\Http\Kernel.php da seguinte forma:
Dentro de $middleware acrescente o middleware que acabou de criar:
protected $middleware = [
\App\Http\Middleware\TrustProxies::class,
...
...
\App\Http\Middleware\Cors::class, //acrescente essa linha
];
4- Teste novamente sua aplicação e vida que segue!
Tem muito conteúdo bom na internet explicando sobre CORS, porque acontece isso, n maneiras de resolver. Então, quis trazer um conteúdo curto e direto ao ponto, pois nosso prazo anda bem curto para as entregas, né?!
Agora, vamos voltar a codar porque a sprint está quase acabando.
Um abraço e até o próximo direto ao ponto.
Thiago Luna - Linkedin
Top comments (24)
muito obrigado, parabéns.
De nada! Que bom que ajudou!
09 de abril de 2024 e foi a unica solução que funcionou pra mim em ambiente de desenvolvimento
Maravilha, @mauriney !!!
Cara muito obrigado kkkk, me salvou de todo tipo possível
De nada!
É um prazer poder ajudar.
Thiago, salvou aqui também, obrigado pelo conteúdo.
De nada!
Fico feliz em ter ajudado.
No Laravel 8 existe o fruitcake/laravel-cors instalado por padrão no projeto, acho válido analisar a documentação dessa tecnologia antes de partir para a solução exposta na publicação. github.com/fruitcake/laravel-cors
vc é demais cara. muito bom seu post, tinha dias buscando o problema achando que era configuração no front. ai busquei um post ai ele disse que o problema era no back ai dei com seu post e deu tudo certo
Que bom que conseguiu resolver o problema!
Obrigado pelo feedback.
só vim agradecer, perfeito, funcionou de imediato!
(obs: funcionou no laravel 8!)
Eu que agradeço pelo feedback e o valeu por avisar que funciona no laravel 8 também.
Aqui no meu dev Laravel 8 não funcionou...
Muito obrigado meu companheiro.
Tive de fazer o login simplesmente para agradecê-lo pela ajuda.
Após horas buscando pela net algo que pudesse me ajudar, você foi o salvador.
Ajudou um jovem iniciante.
Obrigado de verdade.
Que bom que conseguiu resolver o problema!
Obrigado pelo retorno e siga firme nos estudos. Em breve estará fera!
Como que eu leio seu guia? nao aparece nada aqui pra mim, apenas o título do seu guia
Olá, @fabricioguima . De repente surgiu um tal de Liquid Error, onde tive que reeditar o texto aplicando um markdown diferente.
Tudo certo com o texto agora.
Espero que já tenha conseguido resolver o problema do CORS por ai.
Abs.
Tbm não consegui
Tks soldier, this solution work on laravel 8, at least for me .
Very cool! Thanks for your feedback.
Let's go further!