Laravel 5.4. API. Rutas de la aplicación
By ercobo | Published | No hay comentarios
Continuemos.
Ahora es el momento de preparar las rutas de la aplicación que van a hacer que la magia funcione.
Para ello, en Laravel disponemos de los archivos situados en la carpeta “routes”, que de momento los que nos interesan son los archivos “api.php” y “web.php”. La diferencia entre cada uno de ellos es que la ruta de acceso será diferente, para la api todas las rutas incluirán al inicio la ruta “/api/” y los de web no la incluirán.
Dicho esto, y para separar mejor las rutas de la api y las diferentes modifcaciones, voy a tomar la costumbre de nombrar las llamadas con la versión de la API que utilice, “v1”, “v2”, etc… así será más sencillo luego a la hora de documentarlo.
Bien, para incluir todas las rutas del manejo de usuarios creadas en el anterior post, hemos de incluir en el archivo “web.php” lo siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Route::group( [ 'prefix' => 'v1', 'middleware' => 'auth:api' ], function () { Route::resource( 'users', 'UsersController', ['only' => ['index', 'store', 'update', 'destroy', 'show']] ); Route::post( 'login', 'LoginController@login' ); } ); (Lo sé, ya estoy incluyendo la ruta de login y algunas cosas más, que detallaré después. Con esto conseguimos que cuando se efectue la llamada a nuestros metodos a través de la ruta “/v1/users” reaccionen igual que hasta ahora. Así que, al final, si ejecutamos el comando para ver las rutas conseguiremos algo como esto: |
1 2 3 4 5 6 7 8 9 10 11 12 |
+--------+-----------+-----------------+---------------+----------------------------------------------+--------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+-----------+-----------------+---------------+----------------------------------------------+--------------+ | | GET|HEAD | / | | Closure | web | | | GET|HEAD | api/users | | Closure | api,auth:api | | | POST | v1/login | | App\Http\Controllers\LoginController@login | web,auth:api | | | GET|HEAD | v1/users | users.index | App\Http\Controllers\UsersController@index | web,auth:api | | | POST | v1/users | users.store | App\Http\Controllers\UsersController@store | web,auth:api | | | GET|HEAD | v1/users/{user} | users.show | App\Http\Controllers\UsersController@show | web,auth:api | | | PUT|PATCH | v1/users/{user} | users.update | App\Http\Controllers\UsersController@update | web,auth:api | | | DELETE | v1/users/{user} | users.destroy | App\Http\Controllers\UsersController@destroy | web,auth:api | +--------+-----------+-----------------+---------------+----------------------------------------------+--------------+ |
Y modificando o añadiendo las rutas que queramos podremos ir montando nuestra api con los modulos necesarios.