API REST CON LARAVEL: 4A PARTE; EDITAR Y ELIMINAR TAREAS.

Laravel API

Han sido días muy ocupados en el trabajo estoy desarrollando una API tipo repositorio de información; estoy ocupando Mezzio (expresive), Mongodb y Doctrine.

En mi vida personal si que han sido días intensos por repercusiones de que me hicieron la vasectomía y soy de los pocos que si tuvieron problemas. Luego les cuento más de esto, que no es como lo pintan.

Es hora de continuar con este tutorial.

Editar tarea

La acción de editar una tarea es muy similar a la de crear, en el controlador agregamos lo siguiente:

Lo primero que hacemos es buscar la tarea con el $id especificado mediante el método find(), sino lo se encuentra regresa el mensaje Data not found con código de estado 404. En cambio si la variable $task esta seteada quiere decir que si se encontró la tarea, a continuación validamos que el titulo venga especificado y que al menos tenga 20 caracteres de longitud. A continuación seteamos las propiedades de la task title y description con los datos del usuario que vienen por medio del objeto $request y con el método save()actualizamos los datos especificados; cabe mencionar que también el campo update_ates actualizado por laravel automáticamente. Y por último regresamos como respuesta el mensaje Task uddated successfully , indicando que se ha actualizado correctamente.

En el postman hacemos la petición por medio del method PUT como se ve en la imagen:

Marcar tarea como completada

Para esta tarea vamos a ocupar la ruta /tasks/completed/{id}, vamos agregar un nuevo método que corresponde a la acción de marcar una tarea como completada, en nuestro controller agregamos lo siguiente:

Este método se parece mucho a la acción de editar una tarea. Una vez que hemos encontrado la task lo que hacemos es setear la propiedad completed a 1; indicando que se ha completado la task, a continuación guardamos los cambios en la base de datos con el método save() y por último regresamos como respuesta el mensaje Your task was marked like completed , indicando que se ha actualizado correctamente.

Podemos ejecutar en el postman el endpoint con el method PUT:

Eliminar tarea

La última acción en este sencillo CRUD es la de eliminar una tarea. Mediante la ruta /tasks/{id}que es igual a la ruta de obtener y actualizar una tarea pero con la diferencia que la petición a la ruta se hace por el método DELETE de HTTP.

Vamos a crear una nueva acción dentro de nuestro controller, como sigue:

Como en las acciones de obtener y actualizar una tarea, la acción recibe un $id para buscar la tarea que queremos eliminar, a continuación, simplemente si encontramos la tarea procedemos a eliminarla y por último regresamos como mensaje Task deleted successfully.

En el postman podemos realizar la petición como sigue:

--

--

Desarrollador backend apasionado, especializado en Go y PHP. Siempre intentando mejorar mi código. Disfruto pasar tiempo con mi esposa e hijos.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sirpyerre Rojas

Desarrollador backend apasionado, especializado en Go y PHP. Siempre intentando mejorar mi código. Disfruto pasar tiempo con mi esposa e hijos.