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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
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/studentsSeria 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??
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/studentsMas 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?
Mesmo com utilizando a URL que você me aconselhado ele retorna mensagem de erro!
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.