Especificación OpenAPI

La especificación OpenAPI, originalmente conocida como la especificación Swagger, es una especificación para archivos de interfaz legibles por máquina para describir, producir, consumir y visualizar servicios web RESTful.[1]​ Comenzó como parte del marco Swagger, y se convirtió en un proyecto separado en 2016, supervisado por la Iniciativa OpenAPI, un proyecto de colaboración de código abierto de la Fundación Linux.[2]​ Swagger y algunas otras herramientas pueden generar código, documentación y casos de prueba con un archivo de interfaz.

Historia editar

El desarrollo de Swagger comenzó a principios de 2010 de la mano de Tony Tam, que trabajaba en la empresa de diccionarios en línea Wordnik.[3]​ En marzo de 2015, SmartBear Software adquirió la especificación de la API Swagger de código abierto de Reverb Technologies, la empresa matriz de Wordnik.[4]

En noviembre de 2015, SmartBear anunció que estaba creando una nueva organización llamada Iniciativa OpenAPI bajo el patrocinio de la Fundación Linux. Otras empresas miembros fundadores fueron 3Scale, Apigee, Capital One, Google, IBM, Intuit, Microsoft, PayPal y Restlet.[5][6][7]​ SmartBear donó la especificación Swagger al nuevo grupo. RAML y API Blueprint también fueron considerados por el grupo.[8][9]

El 1 de enero de 2016, la especificación Swagger pasó a llamarse Especificación OpenAPI (OAS) y se trasladó a un nuevo repositorio de GitHub.[10]

En septiembre de 2016, la conferencia API World presentó un premio API Infrastructure a SmartBear por su trabajo continuo en Swagger.[11]

En julio de 2017, la Iniciativa OpenAPI lanzó la versión 3.0.0 de su especificación.[12]MuleSoft, el principal contribuyente al lenguaje de modelado de API RESTful alternativo (RAML), se unió a la OEA y abrió su herramienta API Modeling Framework, que puede generar documentos OAS a partir de la entrada RAML.[13]

Fechas de lanzamiento editar

Versión Fecha Notas[14]
3.1.0 2021-02-14 Publicación de la especificación OpenAPI 3.1.0
3.0.3 2020-02-20 Lanzamiento de parche de la especificación OpenAPI 3.0.3
3.0.2 2018-10-08 Lanzamiento de parche de la especificación OpenAPI 3.0.2
3.0.1 2017-12-06 Lanzamiento de parche de la especificación OpenAPI 3.0.1
3.0.0 2017-07-26 Lanzamiento de la especificación OpenAPI 3.0.0
2.0 2014-09-08 Lanzamiento de Swagger 2.0
1.2 2014-03-14 Publicación inicial del documento formal
1.1 2012-08-22 Lanzamiento de Swagger 1.1
1.0 2011-08-10 Primera versión de la especificación Swagger

Uso editar

Las aplicaciones implementadas en base a archivos de interfaz OpenAPI pueden generar automáticamente documentación de métodos, parámetros y modelos. Esto ayuda a mantener sincronizados la documentación, las bibliotecas cliente y el código fuente.[15]

Características editar

La especificación de OpenAPI es independiente del idioma. Con la especificación de recursos declarativos de OpenAPI, los clientes pueden comprender y consumir servicios sin conocimiento de la implementación del servidor o acceso al código del servidor.[15]

Herramientas que funcionan con OpenAPI editar

La Iniciativa OpenAPI mantiene una lista de implementaciones para la versión 3.0 de la especificación. SmartBear todavía marca sus herramientas OpenAPI con el sobrenombre de Swagger. El marco de la interfaz de usuario de Swagger permite que tanto los desarrolladores como los no desarrolladores interactúen con la API en una interfaz de usuario de espacio aislado que brinda información sobre cómo responde la API a los parámetros y opciones. Swagger puede manejar tanto JSON como XML.[15]

Swagger Codegen contiene un motor basado en plantillas para generar documentación, clientes API y códigos auxiliares de servidor en diferentes idiomas mediante el análisis de la definición de OpenAPI. En julio de 2018, William Cheng, el principal contribuyente de Swagger Codegen, y más de 40 colaboradores de Swagger Codegen bifurcaron el código en un proyecto llamado OpenAPI Generator bajo la organización OpenAPI Tools.[16][17]

Véase también editar

Referencias editar

  1. «Linux Foundation wants to extend Swagger in connected buildings | Business Cloud News». Consultado el 22 de abril de 2016. 
  2. «OpenAPI Initiative Charter». OpenAPI Initiative. Consultado el 12 de noviembre de 2019. 
  3. «Swagger creator joins SmartBear». Consultado el 6 de agosto de 2019. 
  4. «SmartBear Assumes Sponsorship of Swagger API Open Source Project». SmartBear. Consultado el 25 de marzo de 2015. 
  5. «FAQ». OpenAPI Initiative. Consultado el 12 de noviembre de 2019. 
  6. «SmartBear, Linux Foundation launch Open API Initiative to Evolve Swagger». 10 de noviembre de 2015. Archivado desde el original el 9 de noviembre de 2016. Consultado el 21 de abril de 2016. 
  7. «New Collaborative Project to Extend Swagger Specification for Building Connected Applications and Services». www.linuxfoundation.org. Archivado desde el original el 27 de abril de 2016. Consultado el 22 de abril de 2016. 
  8. Montcheuil, Yves de. «In 2016, the need for an API meta-language will crystallize». InfoWorld. Consultado el 25 de abril de 2016. 
  9. «Amazon API Gateway Now Supports Swagger Definition Import». InfoQ. Consultado el 25 de abril de 2016. 
  10. OpenAPI Initiative. «OpenAPI Specification». GitHub. Consultado el 12 de noviembre de 2019. 
  11. «Swagger wins the 2016 API Award for API Infrastructure». Swagger Blog. Consultado el 27 de julio de 2018. 
  12. «The OAI Announces the OpenAPI Specification 3.0.0». OpenAPIs. Consultado el 19 de abril de 2018. 
  13. «The HTTP API space is Consolidating around OAS». InfoQ. Consultado el 14 de mayo de 2017. 
  14. Javier Gil. «OpenAPI Specification Version 3.0.4». Archivado desde [b el original] |url= incorrecta (ayuda) el |urlarchivo= requiere |fechaarchivo= (ayuda). Consultado el 8 de marzo de 2023. 
  15. a b c «swagger-api/swagger-spec». GitHub. Consultado el 1 de diciembre de 2015. 
  16. «Swagger Codegen is now OpenAPI Generator». Consultado el 6 de agosto de 2019. 
  17. «Swagger Codegen Fork: Q&A». Consultado el 6 de agosto de 2019. 

Enlaces externos editar