la siguiente investigación la hice con fines de aprendizaje y cultura informática que pueden servir no solo a mi como estudiante sino a otras personas que están aprendiendo temas nuevos, en esta ocasión se trata de las tecnologías API RESTfull que se compone de dos componentes el API y REST temas que más adelante se estarán aclarando
DISEÑO API RESTfull
Son maneras fáciles de interactuar en forma cliente servidor porque solo se solicitan los datos necesarios para poder correr una aplicación web
¿Qué es API?
Es un conjunto de reglas que permiten la comunicación entre programas para ahorrarnos código a la hora de programar
¿Qué es REST?
Son reglas que siguen los desarrolladores al crear su APIs que se trabajan en el entorno web que trabaja con el protocolo http que juntos forma un recurso que se vincula a una url.
Características
Las operaciones que manipulamos son:
GET: para consultar y leer.
POST: para crear.
PUT: para editar.
DELETE: para eliminar.
Podemos trabajar con contenido media como texto, imagen, video, audio entre otros a través de enlaces HTML.
Podemos trabajar con frameworks como JAX-RS y Spring Boot para java, Django REST framework para Python, Laravel para PHP o Restify para Node. Js
Buenas Practicas
Cuando empezamos a crear APIs una cosa que debemos hacer es poner una especie de plantilla que le entendamos para que nuestra API sea legible y cuando estemos programando no nos confundamos con los nombres de las variables o cosas por estilo así que debemos seguir nuestras propias reglas
Que los nombres no contengan verbos
Cuando creamos una nueva función que sea y en la ruta que nos dirigirá a esa función no debemos poner por ejemplo /crearCliente porque la tecnología http entiende como post = crear
Organizar las peticiones
Podemos organizar nuestras peticiones con el formato CRUD podemos tener primero el post luego get, put y delete para que sea mas organizado y a la hora de cambiar de entorno podemos reutilizar código.
Manejo de las relaciones
Podemos usar Rest cuando queramos traer recursos que involucren relaciones entre las entidades.
Versionar la API
Esto resulta muy útil a la hora de modificar alguna función de la API porque si no esta versionada y modificamos algo, todo puede llegar a fallar y eso seria bastante perjudicial para la API
Borrar métodos
Si la operación de eliminación es exitosa, el servidor web debe responder con el código de estado HTTP 204, lo que indica que el proceso se ha manejado con éxito.
Documentación APIs
Se trata de instrucciones interactivas que muestran quien puede acceder a la plataforma su organización y estructura para facilitar el entendimiento y evitar que se pierda tiempo investigando cada cosa que lo compone
Para esto existen diversos tipos de software que nos pueden ayudar a crear nuestra documentación por ejemplo RAML
Esquema inicial
Debemos basarnos en las tareas y temas por categoría para presentar la información de forma clara y legible pero tampoco debemos exagerar en numero de pestañas lo que podemos hacer es relacionar algunos temas para que ahorremos espacio.
Entorno poligloto
Debemos dar un pequeño tour de los lenguajes de programación que admite nuestra interfaz y debemos poner ejemplos de cada lenguaje para que los usuarios tengan una idea y puedan elegir el lenguaje que deseen.
Herramientas de trabajo
No solo debemos poner los dispositivos en los que nuestra API corra, sino que debemos ser más específicos dando los detalles de la API especificaciones técnicas entre otros detalles.
Podemos concluir que: