Example-driven web API specification discovery

REpresentational State Transfer (REST) has become the dominant approach to design Web APIs nowadays, resulting in thousands of public REST Web APIs offering access to a variety of data sources (e.g., open-data initiatives) or advanced functionalities (e.g., geolocation services). Unfortunately, most...

ver descrição completa

Detalhes bibliográficos
Autores: Ed-douibi, Hamza, Canovas Izquierdo, Javier Luis, Cabot, Jordi
Tipo de documento: artigo
Estado:Versión enviada para evaluación y publicación
Data de publicação:2017
País:España
Recursos:Universitat Oberta de Catalunya (UOC)
Repositório:O2, repositorio institucional de la UOC
OAI Identifier:oai:openaccess.uoc.edu:10609/78206
Acesso em linha:https://hdl.handle.net/10609/78206
Access Level:Acceso aberto
Palavra-chave:REST web APIs
discovery process
OpenAPI
repository
procés de detecció
repositori
proceso de detección
repositorio
Application program interfaces (Computer software)
Interfícies de programació d'aplicacions (Programari)
Interfaces de programación de aplicaciones (Software)
Descrição
Resumo:REpresentational State Transfer (REST) has become the dominant approach to design Web APIs nowadays, resulting in thousands of public REST Web APIs offering access to a variety of data sources (e.g., open-data initiatives) or advanced functionalities (e.g., geolocation services). Unfortunately, most of these APIs do not come with any specification that developers (and machines) can rely on to automatically understand and integrate them. Instead, most of the time we have to rely on reading its ad-hoc documentation web pages, despite the existence of languages like Swagger or, more recently, OpenAPI that developers could use to formally describe their APIs. In this paper we present an example-driven discovery process that generates model-based OpenAPI specifications for REST Web APIs by using API call examples. A tool implementing our approach and a community-driven repository for the discovered APIs are also presented.