Api Rest Una API puede considerarse como un

  • Slides: 20
Download presentation

Api Rest Una API puede considerarse como un conjunto de funciones y rutinas diseñadas

Api Rest Una API puede considerarse como un conjunto de funciones y rutinas diseñadas para ser utilizadas por otro software, lo que ofrece una gran ventaja a la hora del desarrollo de aplicaciones multiplataforma pues de esta forma podemos concentrar toda la lógica del negocio en un solo lugar accesible desde muchas otras aplicaciones o programas. Cuando se habla de desarrollo de aplicaciones web y específicamente de desarrollo de una API para la web aparece el término REST (Representational State Transfer).

Que es Rest REST es un estilo de arquitectura software para sistemas hipermedia distribuidos

Que es Rest REST es un estilo de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web. Cuya definición en un sentido más amplio se usa para: Describir cualquier interfaz entre sistemas que utilice directamente HTTP para obtener datos o indicar la ejecución de operaciones sobre los datos, en cualquier formato (XML, JSON, etc). De ahí el término API REST, dónde se engloban todas aquellas aplicaciones diseñadas para ser accesibles desde otros programas a través del protocolo web.

Como Funciona

Como Funciona

Operaciones de datos con los métodos HTTP En REST cada uno de los verbos

Operaciones de datos con los métodos HTTP En REST cada uno de los verbos que se usan en las peticiones equivale a una acción sobre un registro o colección. Como ya sabes, las acciones más frecuentes se representan en la sigla CRUD (create, read, update y delete). Estas cuatro operaciones básicas tienen asignados los siguientes métodos

Operaciones de datos con los métodos HTTP Método Acción Seguro Idempotente GET Obtiene un

Operaciones de datos con los métodos HTTP Método Acción Seguro Idempotente GET Obtiene un recurso o una colección Si No POST Crea un nuevo recurso No No PUT Actualiza un recurso No específico No DELETE Elimina un recurso específico No Si PATCH Actualiza parcialmente un recurso especifico No No

Uso de códigos de estado para respuestas Código Significado Utilidad 200 Ok Úsalo para

Uso de códigos de estado para respuestas Código Significado Utilidad 200 Ok Úsalo para especificar que un recurso o colección existe 201 Created Puedes usarlo para especificar que se creó un recurso. Se puede complementar con el header Location para especificar la URI hacia el nuevo recurso. 204 No Content Representa un resultado exitoso pero sin retorno de algún dato (viene muy bien en DELETE). 304 No Modified Indica que un recurso o colección no ha cambiado. 401 Unauthorized Indica que el cliente debe estar autorizado primero antes de realizar operaciones con los recursos 404 Not Found Ideal para especificar que el recurso buscado no existe 405 Method Not Allowed Nos permite expresar que el método relacionado a la url no es permitido en la api

Uso de códigos de estado para respuestas Código Significado Utilidad 422 Unprocessabl e Entity

Uso de códigos de estado para respuestas Código Significado Utilidad 422 Unprocessabl e Entity Va muy bien cuando los parámetros que se necesitaban en la petición no están completos o su sintaxis es la incorrecta para procesar la petición. 429 Too Many Requests Se usa para expresarle al usuario que ha excedido su número de peticiones si es que existe una política de límites. 500 Internal Server Error Te permite expresar que existe un error interno del servidor. 503 Service Unavailable Este código se usa cuando el servidor esta temporalmente fuera de servicio.

API Rest

API Rest

API Rest

API Rest

Herramientas para probar el servicio web REST Los tests son importantes si deseas verificar

Herramientas para probar el servicio web REST Los tests son importantes si deseas verificar el comportamiento de tu servicio web sin tener que usar la vista de la app o crear simulaciones propias de peticiones. Para ello existen varias utilidades online que puedes permitir probar las funcionalidades de un api REST. En nuestro usaremos una extensión muy popular de Google Chrome llamada Postman.

Herramientas para probar el servicio web REST

Herramientas para probar el servicio web REST

Api Rest con Laravel Que vamos a usar para crear nuestra Api 1 -Laravel

Api Rest con Laravel Que vamos a usar para crear nuestra Api 1 -Laravel 5. 2 “Se puede usar la versión 5. 1, 5. 0 , 4. 2. ” 2 - jwt-auth 3 - Esta demostración será muy básica pero también se puede usar oauth 2.

Que es jwt-auth JWT-auth proporciona un medio simple de autenticación dentro de laravel utilizando

Que es jwt-auth JWT-auth proporciona un medio simple de autenticación dentro de laravel utilizando JSON Web Token. Compatibilidad versión laravel JWT-auth versión 4. * 0. 3. * 0. 4. * 5. * 0. 5. *

Instalación de jwt-auth Instalar a través de composer editar composer. json para insertar el

Instalación de jwt-auth Instalar a través de composer editar composer. json para insertar el requerimiento del paquete. "require": { "tymon/jwt-auth": "0. 5. *" } Actualizamos nuestro composer con el comando “compser update”

Instalación de jwt-auth Una vez que se ha actualizado nuestro composer, debemos carca los

Instalación de jwt-auth Una vez que se ha actualizado nuestro composer, debemos carca los service provider en app. php. TymonJWTAuthProvidersJWTAuth. Service. Provider: : class, También debemos cargar el alias JWTAuth => TymonJWTAuthFacadesJWTAuth, JWTFactory => TymonJWTAuthFacadesJWTFactory,

Instalación de jwt-auth Publicamos la Configuración con el siguiente comando. php artisan vendor: publish

Instalación de jwt-auth Publicamos la Configuración con el siguiente comando. php artisan vendor: publish --provider="TymonJWTAuthProvidersJWTAuth. Service. Provider“ Generamos la Key. php artisan jwt: generate Pronto ya quedo instalado ahora debemos hacer algunas configuraciones más

Crear un token de autentificación. Para crear un token de autentificación debemos escribir el

Crear un token de autentificación. Para crear un token de autentificación debemos escribir el siguiente código en el controlador Authenticate. Controller use JWTAuth; use TymonJWTAuthExceptionsJWTException; class Authenticate. Controller extends Controller { public function authenticate(Request $request) { $credentials = $request->only('email', 'password'); try { if (! $token = JWTAuth: : attempt($credentials)) { return response()->json(['error' => 'invalid_credentials'], 401); } catch (JWTException $e) { return response()->json(['error' => 'could_not_create_token'], 500); } return response()->json(compact('token')); } }

Middleware Para utilizar los middleware tendremos que registrarlos en app / HTTP / Kernel.

Middleware Para utilizar los middleware tendremos que registrarlos en app / HTTP / Kernel. php bajo la propiedad $route. Middleware. protected $route. Middleware = [. . . 'jwt. auth' => 'TymonJWTAuthMiddlewareGet. User. From. Token', 'jwt. refresh' => 'TymonJWTAuthMiddlewareRefresh. Token', ];