Inicio » Blog » Laravel

4 septiembre, 2021

Crear Api Rest en Laravel (CRUD)

En la publicación de hoy estaremos revisando cómo hacer un CRUD LARAVEL para un proyecto tipo API.

Suscríbete a nuestro canal en Youtube

Suscríbirse

Los proyectos tipo API son una opción bastante común a la hora de afrontar proyectos de desarrollo del lado del back end, es por eso que hoy estaremos revisando cómo hacer un crud para un proyecto API, en este tipo de proyectos el único trabajo de Laravel en el backend es servir la data, en un formato fácil de leer, este formato la mayoría de veces será Json para que luego el front end se encargue consumir y maquetar la data.

Video Segunda parte Crud Laravel API

¿Bien y como empezamos? No iniciaremos creando un proyecto, ya tenemos un tutorial para ello en codea; ya tenemos un proyecto listo que usaremos de ejemplo, ahora mismo este proyecto tiene todas las migraciones que ven en la primera imagen, pero más allá de eso el proyecto no tiene nada más, ni modelos ni controladores; por lo que el primer paso sería crear justamente eso, la tabla sobre la que haré el Crud será la de hoteles, tiene 4 campos bastante sencillos, aunque el procedimiento sería el mismo para cualquier otra tabla, la diferencia será al hacerles validaciones, pero esta publicación no va de eso.

img_migracion

¿Cómo creamos un modelo?

Para crear un modelo usamos el comando: “php artisan make:model Hotel” donde “Hotel” es el nombre que tendrá el archivo y la clase en su interior.

Dentro del modelo debemos especificar tres propiedades para que las funciones de nuestro crud funcionen correctamente: “$table” que le especifica al modelo con que tabla de base de datos trabajara, “$timestamps” en falso porque no usaremos los campos “create_at” y “update_at” (al menos no por ahora) y “$fillable” que le indica al modelo que campos o columnas de la tabla se pueden insertar en lote, obviamente en esta propiedad excluimos el id porque nunca haremos un insert especificando el id

¿Cómo creamos un controlador api?

Ahora necesitamos crear un controlador para el modelo Hoteles, el comando que usaremos sera: “php artisan make:controller HotelController --api”, este comando consta de “php artisan make:controller” que crear el controlador, “hotelController” que será el nombre que tendrá el archivo y la clase en su interior y al final ese “api” le indicará al controlador que solo debe tener 5 funciones: index, create, show, update y delete que son las únicas funciones que necesitaremos para un proyecto tipo API.

Dentro del controlador que creamos usamos el modelo “Hotel” junto con los métodos all, create y find; el primero “all” te traerá todos los registros de tu tabla, “create” creará un nuevo registro con los datos que se le haya pasado por post a la ruta y “find” lo usaras para el delete y el update ya que requieres encontrar por id al registro que quieres editar/borrar.

img_modelo_controlador

El último paso antes de probar nuestro crud, es crear la ruta que usaremos para invocar cada una de las acciones del crud: index y show son funciones para mostrar todos y un registro respectivamente, ambas son rutas get; store es la función que usaremos para hacer la inserción y dado que necesitas pasarle los datos para el registro, es una ruta post; update es una tipo put y también requiere que le pases la info para hacer la actualización, por último destroy es de tipo delete, y como se imaginaran borra el registro.

¿Cómo creamos una ruta para una API?

Es sencillo, solo requerimos editar el archivo “api.php” que está en la carpeta “routes” y agregarle una línea “Route::apiResource(...)” esta única línea engloba las 5 funciones de nuestro controlador, teniendo todas la misma ruta pero un diferente verbo http de esta forma nos ahorramos el tener que escribir 5 rutas para cada una de las funciones del controlador. Observa la imagen a continuación para ver como debes llamar a tu controlador:

img_ruta

Si requieres ver cómo probamos el código usando postman, no olvides ver el video que preparamos en nuestro canal de YouTube.


Leido 3643 veces

Descarga el código fuente Laravel

Recurso descargado 8 veces

USD

Descargar Código Fuente

Compartir link del tutorial con tus amigos


Laravel 9 Página Web para Negocio Laravel 9 Página Web para Negocio

Curso Laravel 9 Avanzado Desarrollo Web Administrable para negocio

Descarga del código fuente

USD 10.00

Aprende más sobre Laravel

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023