<?php
$router->get('/', function () use ($router) {
return $router->app->version();
});
$router->group(['prefix' => 'api/'], function ($router) {
$router->post('', 'SeriesController@store');
});
<?php
$router->get('/', function () use ($router) {
return $router->app->version();
});
$router->group(['prefix' => 'api/'], function ($router) {
$router->post('', 'SeriesController@store');
});
Olá, Danielle.
Sua configuração de prefixo está errada.
O correto seria:
$router->group(['prefix' => '/api'], function () use ($router) {
$router->post('/series', 'SeriesController@store');
// ...
});
Fiz a correção mais ainda está dando o mesmo erro:
NotFoundHttpException HTTP 404 Not Found Exception
Symfony\Component\HttpKernel\ExceptionNotFoundHttpException in /Users/danielle/projetos/lumen/api-users/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php (line 229) / protected function handleDispatcherResponse($routeInfo) { switch ($routeInfo[0]) { case Dispatcher::NOT_FOUND: throw new NotFoundHttpException; case Dispatcher::METHOD_NOT_ALLOWED: throw new MethodNotAllowedHttpException($routeInfo[1]); case Dispatcher::FOUND: return $this->handleFoundRoute($routeInfo); } in /Users/danielle/projetos/lumen/api-users/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php -> handleDispatcherResponse (line 169) if (isset($this->router->getRoutes()[$method.$pathInfo])) { return $this->handleFoundRoute([true, $this->router->getRoutes()[$method.$pathInfo]['action'], []]); } return $this->handleDispatcherResponse( $this->createDispatcher()->dispatch($method, $pathInfo) ); }); } catch (Throwable $e) { return $this->prepareResponse($this->sendExceptionToHandler($e)); } in /Users/danielle/projetos/lumen/api-users/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php -> Laravel\Lumen\Concerns{closure} (line 416) ->send($this->make('request')) ->through($middleware) ->then($then); } return $then($this->make('request')); } /* * Prepare the response for sending. * in /Users/danielle/projetos/lumen/api-users/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php -> sendThroughPipeline (line 171) } return $this->handleDispatcherResponse( $this->createDispatcher()->dispatch($method, $pathInfo) ); }); } catch (Throwable $e) { return $this->prepareResponse($this->sendExceptionToHandler($e)); } } in /Users/danielle/projetos/lumen/api-users/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php -> dispatch (line 108)
* @param SymfonyRequest|null $request * @return void */ public function run($request = null) { $response = $this->dispatch($request); if ($response instanceof SymfonyResponse) { $response->send(); } else { echo (string) $response;
Application->run() in /Users/danielle/projetos/lumen/api-users/public/index.php (line 28) | the client's browser allowing them to enjoy the creative| and wonderful application we have prepared for them.|*/$app->run();
Que url você está tentando acessar
localhost:8000/users
E onde você definiu essa rota /users
, Danielle?
Nos exemplos que você mandou, a única rota definida era /api/series
Sim comecei outro projeto com lumen e criei users pra testar mais continuou com erro, mas o meu aquivo web.php do curso está assim, no caso subtitui series por livros.
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It is a breeze. Simply tell Lumen the URIs it should respond to
| and give it the Closure to call when that URI is requested.
|
*/
$router->get('/', function () use ($router) {
return $router->app->version();
});
$router->group(['prefix' => '/api'], function () use ($router) {
$router->post('/livros', 'LivrosController@store');
$router->get('/livros', 'LivrosController@index');
$router->get('/livros/{id}', 'LivrosController@show');
$router->put('/livros/{id}', 'LivrosController@update');
$router->delete('/livros/{id}', 'LivrosController@destroy');
});
Então, Danielle. Você está tentando acessar uma rota que não existe. Não tem nenhuma rota /users
configurada.
Acho q vc n entendeu. Eu criei o projeto do curso esse q te mandei agora, dai deu o erro q mencionei. Entao configurei o lumen tudo de novo e criei essa rota users pra testar e continuou com o erro.
Realmente não estou entendendo, Danielle. Vamos do começo:
Se você continua com erro, me fala qual URL você está tentando acessar agora, e como está seu arquivo de rotas agora.
localhost:8000/livros
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It is a breeze. Simply tell Lumen the URIs it should respond to
| and give it the Closure to call when that URI is requested.
|
*/
$router->get('/', function () use ($router) {
return $router->app->version();
});
$router->group(['prefix' => '/api'], function () use ($router) {
$router->post('/livros', 'LivrosController@store');
$router->get('/livros', 'LivrosController@index');
$router->get('/livros/{id}', 'LivrosController@show');
$router->put('/livros/{id}', 'LivrosController@update');
$router->delete('/livros/{id}', 'LivrosController@destroy');
});
Ok, Danielle. De novo: A rota que você está tentando acessar não existe.
Você tem configurada a rota /api/livros
. Somente /livros
não, entende?
Se você acessar localhost:8000/api/livros
deve funcionar.
;-)