Skip to main content

Arquitecturas REST flexibles con JSON API

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Cargando…

JSON API es un formato que funciona sobre HTTP. Describe cómo los clientes deben solicitar o editar los datos de un servidor, y cómo el servidor debe responder a dichas solicitudes.

El objetivo principal de la especificación es optimizar las solicitudes HTTP; tanto en términos de la cantidad de solicitudes como del tamaño de los paquetes de datos intercambiados entre clientes y servidores, sin comprometer la legibilidad, la flexibilidad o la capacidad de descubrimiento.  

El concepto de JSON API es relativamente moderno. Al trabajar bajo arquitecturas REST estamos muy acostumbrados a construirlas utilizando los niveles clásicos.

 

 

Esto no representa inconveniente en ningún caso. Los problemas surgen cuando es necesario realizar operaciones más complejas como ordenar, paginar o incluir relaciones etc; estos problemas están relacionados mayormente a las peticiones GET y las opciones de consulta que estas permiten.

 

 

Esta respuesta tiene limitaciones, y la más importante es que es una respuesta plana, solo se obtienen los datos solicitados, si se necesita tener acceso a los siguientes grupos de datos, o se necesita que la respuesta incluya relaciones no sería posible, para esto sería necesario conocer de entrada el resto de las URL’s

 

JSON API, propone definir un API JSON que haga que estas respuestas adquieran un formato Standard.  Por ejemplo, en una estructura de JSON API los datos no se obtienen de una forma tan plana, sino que vienen dentro de una estructura data. Ubicándolos dentro de esta estructura y solicitar a nuestros clientes que accedan a ellos estamos aportando flexibilidad ya que nos permite añadir a la petición GET subestructuras, que complementen los datos expuestos.

Dos de las más habituales son links e includes, que se encargan de incluir información sobre enlaces a datos complementarios, así como información sobre elementos hijos, que los datos originales necesiten.

En código:

JSON API, nos puede ayudar a diseñar arquitecturas REST mas flexibles.

Jose Isaac Montero Quintero

Jose Isaac Montero Quintero

Jose Isaac Montero Quintero ha escrito 3 entradas


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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