Guía para hacer tu primera API Rest
De >Core Dumped_ WIKI
Aquí proponemos una guía para realizar tu primera Aplication Programming Interface REpresentational State Transfer o API REST. Explicaremos paso a paso cómo diseñar e implementar tu primera aplicación para ofrecer servicios web en JavaScript con el motor de Node y mongodb como soporte de la base de datos.
Sumario
¿Qué es una API Rest?
Podriamos definir API Rest como un servicio que recibe y responde peticiones de los usuarios. Un ejemplo de petición es el acceso a esta página wed, de modo que un usario introduce la cadena de texto https://wiki.coredumped.es/index.php?title=Guía_para_hacer_tu_primera_API_Rest en el navegador. Esta cadena de texto recibe el nombre de Uniform Locator Resources o URL. Cuando introduces esta URL, la API de wiki detecta que ha recibido una petición y responde devolviendo la propia página web. Esto es solo una parte de lo que la API Rest realmente hace. Rellenar un formulario, el registro y acceso de usuarios, gestión de productos ... toda esa información es gestionada y almacenada por una API Rest.
En la práctica, la API funciona en un servidor especializado para poder atender bastas cantidades de peticiones en poco tiempo. Sin embargo, en esta guía convertiremos tu ordenador personal en un servidor que solo responderá a peticiones locales, pero que nos bastará para entender como se diseña e implementa una API Rest.
Requisitos iniciales
Node, express, mongodb y mongoose, body-parse y nodemon (este último es opcional, pero recomendable)
Pasos
Ìndice de los pasos siguientes
Montar el servidor local
Levantar un servidor local y modo debug con nodemon
Peticiones
comenzar con get, explicar un poco por encima el resto y dejarlos en el tintero hasta que podamos ver como usarlas con mongodb. Parametros por req.params, req.query y req.body
Base de datos
Esquemas, como se usan las peticiones post, get, put, y delete con mongo. Throw de errores
Desmembrar código
Todo lo anterior (a excepción de los esquemas) se escribe sobre un único fichero, el cual se vuelve isostenible a medida que añadimos nuevas peticiones. Aquí dividiremos el index.js en controladores, rutas, ...