Emular API REST con Angular in-memory-web-api
Emular API REST con Angular in-memory-web-api
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!


Una de las tareas más comunes cuando trabajamos con Angular es consumir servicios para poder obtener datos, y eso supone en la mayoría de los casos tener un servicio al cual conectar para realizar las típicas operaciones REST.

En este tutorial vamos a ver cómo podemos emular API REST con Angular in-memory-web-api para poder realizar todas las operaciones REST haciendo uso de HttpClient, get, post, put y delete son las operaciones que tendremos disponibles con muy poca configuración.

Instalar Angular in-memory-web-api

Lo primero que debemos hacer es instalar esta dependencia en nuestro proyecto, yo actualmente estaré trabajando con Angular 5.

Una vez tenemos la dependencia instalada, vamos a crear un servicio llamado InMemoryDataService que implemente la clase InMemoryDbService y más concretamente el método createDb, que es el que hace todo posible.

Para poder tener datos para empezar, puedes añadir la siguiente información al archivo que acabamos de generar.

El código anterior pondrá a nuestra disposición todas las urls para poder realizar todo tipos de operaciones REST con Angular.

Si te has fijado, estamos retornando users, sólo por eso, la url de nuestro servicio por defecto será /api/users.

Para que todo funcione, debemos añadir el módulo y el servicio al módulo de nuestra app, en mi caso el app.module.

Crear un servicio para utilizar InMemoryDataService

Finalmente lo único que nos queda por hacer es crear un servicio con Angular para poder consumir nuestra API REST, así que primero vamos a ejecutar el siguiente comando y después añadimos el siguiente código.

A partir de ahora puedes acceder a cada uno de los métodos de este servicio y realizar todas las operaciones escritas.

Por si lo necesitas, adjunto el código de la clase user, la cual es el prototipo de cada usuario de la app.

Cómo puedes ver, el módulo in-memory-web-api es muy útil y nos puede ahorrar mucho tiempo en pruebas y tests, espero que te haya gustado y te resulte útil.