Para que el que no le suene, Swagger es una herramienta para describir, producir, consumir y visualizar APIs RESTFul. Viene a ser como el WSDL de los servicios SOAP. No es el único que existe de este tipo, también están al menos RAML y Blueprint. Precisamente la existencia de varios formatos es la cara y la cruz del más dinámico mundo de los servicios REST, por un lado hay mayor innovación que en SOAP pero por otro no hay nadie que pueda afirmar que es el estándar. Aunque quizás, es una opinión personal, Swagger se ha convertido en el estándar de facto en este segmento.

Swagger define un formato de fichero de descripción de los servicios REST pero también proporciona librerías de anotaciones para lenguajes como Java, JS, Scala, Ruby, PHP y también es capaz de generar el cliente consumidor de los servicios así como también generar un portal de documentación y los “esqueletos” de los servicios en sí, de tal manera que constituye una excelente herramienta de definición y separación de “concerns” entre el equipo de front y el de back. Como sabéis, para que no haya problemas de interdependencias entre estos equipos de un proyecto (si es que el proyecto se divide así) es fijar el “contrato” de los servicios. ¿Qué mejor si no sólo tenemos un simple documento word sino que tenemos un formato para una herramienta capaz de generar el portal del desarrollador, el código de ambos lados, un sandbox, etc. etc.?

De Swagger 2 a OpenAPI 3

Swagger se ha movido a la fundación Linux y ha sido renombrado com OpenAPI Spec, después de un tiempo de trabajo ha sido finalmente liberado.

Los cambios han sido varios y se pueden consultar aquí.

Las características más importantes de OpenAPI son las siguientes:

  1. Ayuda a establecer un buen diseño de las APIs
  2. Documentación completa
  3. Testing rápido gracias a la generación del sandbox
  4. Time to market más rápido y seguro
  5. Generación del portal de descripción del API para humanos

Azure anuncia el soporte a OpenAPI

Como muestra de su importancia y presencia en el mercado, la nube de Microsoft ha anunciado el soporte (aún en modo preview y para la versión 2) de esta última especificación.

Han añadido un generador para crear el fichero descriptor a partir de los servicios ya existentes. En concreto a partir de los servicios “functions” tipo serverless que se disparan mediante eventos HTTP.

Se dispone también de un editor de Swagger, con ayudas a la edición en la consola de definición del servicio.

Anuncios