APIRest sencillo con Laravel

Vamos a comenzar a construir nuestro primer API Rest con Laravel.
¿Que es una API?  Podemos definirla como el conjunto de funciones diseñadas para ser usadas por otro software. Esta es una de sus mayores ventajas que permite desarrollar aplicaciones multi plataforma concentrado  la lógica en un solo lugar.

Entonces ¿Que es REST? Son las siglas de Representational State Tranfer, el cual es de manera mas sencilla una interfaz entre sistemas que utiliza HTTP para obtener información o indicar la ejecución de una operación y puede ser en cualquier formato XML, JSON etc.

Al combinarlas obtenemos el concepto de APIRest que son aquellas aplicaciones diseñadas para ser accesibles desde otro programa a través del protocolo web.

Consideraciones antes de empezar.

Antes de empezar es importante tomar en cuenta lo siguiente:

*En un APIRest lo que normalmente conocemos como Modelo se le llama Recursos.

*Se utilizan Controladores de Recursos.

*Los recursos se nombran con sustantivos.

*Las peticiones HTTP  a cada recurso serian de la siguiente forma

http://localhost/APIRestful/public/api/Usuario/{parametros}

*Una mala practica es usar una URL por petición.

APIRest en Laravel

Para comenzar creamos un proyecto nuevo con Laravel.

$ composer create-project laravel/laravel Laravel

En este caso vamos a usar para el ejemplo los  datos de una tabla llamada Usuarios.Por lo cual vamos a crear un controlador para el Recurso llamado Usuario.

php artisan make:controller Nombredetucontrolador –resource

Esto crea el controlador en la carpeta app/Http/Controllers

Lo siguiente es crear la ruta asociada. Para hacer esto usaremos el archivo routes/api.php

Crearemos la siguiente ruta con la opción Route::resource la cual de manera automática nos genera múltiples rutas para gestionar las peticiones.

Route::resource(‘Usuario’,’UsuariosController’,[‘only’=>[‘index’,’store’,’show’,’update’,’destroy’ ]]);

La opción only permite restringir las rutas que se mostrarán de forma que no se muestren las que no utilizaremos. Esto dejara nuestras rutas de la siguiente forma:

Ahora vamos al Controlador que debe estar ubicado en app/http/Controlador.php

Lo primero que haremos sera para mostrar los datos de la tabla. Primero modificaremos la función index()

public function index()

  {

      $users=Usuarios::all()->toArray();

      return response()->json($users);

  }

También añadiremos la función show ()

public function show($id)

  {

      $usuario=Usuarios::find($id);

       if(!$usuario){

           return response()->json([‘No existe’,404]);

       }

       return response()->json($usuario,200);

  }

Con esto podremos obtener los datos de nuestra tabla Usuario. Vamos a auxiliarnos de Postman para poder probar el llamado a nuestra ruta.

Nos debe mostrar un resultado como el siguiente: 

De esta forma tendriamos la primera funci’on que es Mostrar los datos ya insertados en una tabla. en los siguientes post veremos como insert,update y delete.

Espero que este tutorial les se ha de ayuda. Esperamos sus comentarios. 

Si gustan un tutorial de Postman o conexión a Base de Datos con Laravel, pueden sugerirlo para que los subamos.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.