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

Erro de cors

Ao tentar mostrar os pratos de cada restaurante, dá essa mensagem: Access to XMLHttpRequest at 'http://localhost:8000/api/v1/restaurantes/1/pratos' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource Vi que a api foi feita em linguagem Pyton, que não conheço. Como faço pra permitir acesso aos pratos? Acredito que tenha que colocar o CORS na Api, mas não sei fazer isso.

Desde já agradeço.

6 respostas

Salve, Alberto.

Creio que esteja faltando uma / no fim da url.

Penso que ela deveria ser assim:

http://localhost:8000/api/v1/restaurantes/1/pratos/

Olá Vinny. Tentei com a barra, não dá erro mais, mas os pratos não são carregados. Creio que precisa colocar permissão na API através de Cors, mas não sei fazer isso, pq o projeto está em Python. Mas agradeço a resposta.

Tive esse problema aqui também, e a minha URL não estava exatamente igual. Confira novamente se URL está correta e se o parâmetro esta sendo passado corretamente. Uma forma de validar a URL, é deixar estático, depois você coloca o id pegando a variável.

O link está certinho. Tenho quase certeza que é o que falei, precisa de Cors na api.

Chamando api direto pelo navegador

API sendo chamada pela aplicação

solução!

Alberto, falta uma barra no final do endereço.

Dessa forma:

http://localhost:8000/api/v1/restaurantes/1/pratos/

Repara que a URL termina com um uma /, e nesse caso ela não é opcional.

Problema resolvido Vinny. Além da barra no final que eu tinha esquecido, no index.tsx do Restaurante, eu tinha colocado "restaurante.pratos?.map..." e o correto era "pratos?.map...", sem o restaurante. Agradeço a ajuda.