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

Ajuda!!! Por favor!!

Então, eu criei uma API no Laravel e pelo que eu vejo ela tá ok, porém por qual movito eu não estou conseguindo fazer requisições Restfull pelo Postman, ele indica que a conexão não foi feita.

https://github.com/brunopeople/API-LARAVEL-SCHOOL

9 respostas

Olá Bruno,

Olhando o seu código eu vi que você colocou suas rotas como: /api/students no arquivo routes\api.php

É importante lembrar que o laravel já adiciona por padrão um /api em qualquer rota desse arquivo, então para acessar a sua rota students seria assim (com dois api):

http://127.0.0.1:8000/api/api/students

Seria esse o problema? Caso não, diz qual o link que você está acesssando pelo postman e qual a mensagem ou erro retornado.

ok!! eu vou tentar isto. É que no meu Laravel ele não colocou '\api'. E desculpa a pergunta básica é que nunca fiz uma API no Laravel.

Fala, Bruno. Temos um curso de desenvolvimento de API aqui com Lumen. Sugiro que você faça este treinamento. ;-)

Então, fiz exatamente o que você me sugeriu, porém ele dá mensagem erro??

https://imgur.com/a/RD9cvPn

https://github.com/brunopeople/Teste-Asteroide-MeuApp

No seu arquivo routes/api.php do novo link que você mandou eu vi que você removeu o /api de todas as rotas, isso é bom, é o recomendado a se fazer já que o laravel faz isso por você.

Então como você fez essa alteração você vai acessar sem o /api/api, só precisa de um /api. Exemplo:

http://127.0.0.1:8000/api/students

Mas tem outro problema nesse seu teste, não existe a rota students/create e nem mesmo uma rota tipo post, confere novamente o seu arquivo de rotas.

Tem sim!! no meu arquivo api.php está assim!

Route::get('students', 'ApiController@getAllStudent'); Route::get('students/{id}','ApiController@getStudent'); Route::get('students','ApiController@createStudent'); Route::get('students/{id}','ApiController@updateStudent'); Route::get('students/{id}','ApiController@deleteStudent');

Outra coisa eu estou tentando fazer um CRUD e nele adicionei um funcionalidade para fazer upload de uma foto, ele está acusando um erro de extensão do arquivo? como conserto isto?

https://github.com/brunopeople/Teste-Asteroide-MeuApp

https://imgur.com/a/GkGXf36

Mesmo com utilizando a URL que você me aconselhado ele retorna mensagem de erro!

https://imgur.com/a/WgHeJva

solução!

Como eu disse antes, não existe essa rota que está sendo testada, a rota post para students/create

No arquivo api.php existem 5 rotas get, mas nenhuma rota post:

Route::get('students', 'ApiController@getAllStudent');
Route::get('students/{id}','ApiController@getStudent');
Route::get('students','ApiController@createStudent');
Route::get('students/{id}','ApiController@updateStudent');
Route::get('students/{id}','ApiController@deleteStudent');

Além disso nehuma das rotas acima é students/create, são todas students ou students/{id} repetindo, isso vai gerar vários conflitos.

Para o create que você está testando vai precisar de uma rota assim:

Route::post('students/create','ApiController@createStudent');

Sobre essa outra dúvida do upload, abre um novo tópico por favor pra não misturar com esse.