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
Latest comments (21)
muito obrigado, parabéns.
De nada! Que bom que ajudou!
Thiago, salvou aqui também, obrigado pelo conteúdo.
De nada!
Fico feliz em ter ajudado.
Cara muito obrigado kkkk, me salvou de todo tipo possível
De nada!
É um prazer poder ajudar.
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
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
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!
Tks soldier, this solution work on laravel 8, at least for me .
Very cool! Thanks for your feedback.
Let's go further!
só vim agradecer, perfeito, funcionou de imediato!
(obs: funcionou no laravel 8!)
Aqui no meu dev Laravel 8 não funcionou...
Eu que agradeço pelo feedback e o valeu por avisar que funciona no laravel 8 também.
Me salvasse agora, show de bola
TMJ parceiro. Obrigado pelo retorno.
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.