Web services often impose dependency constraints that re strict the way in which two or more input parameters can be combined
to form valid calls to the service. Unfortunately, current specification
languages for web services like the OpenAPI Specification provide no
support for the formal description of such dependencies, which makes
it hardly possible to automatically discover and interact with services
without human intervention. Researchers and practitioners are openly
requesting support for modelling and validating dependencies among in put parameters in web APIs, but this is not possible unless we share a
deep understanding of how dependencies emerge in practice—the aim of
this work. In this paper, we present a thorough study on the presence
of dependency constraints among input parameters in web APIs in in dustry. The study is based on a review of more than 2.5K operations
from 40 real-world RESTful APIs from multiple application domains.
Overall, our findings show that input dependencies are the norm, rather
than the exception, with 85% of the reviewed APIs having some kind of
dependency among their input parameters. As the main outcome of our
study, we present a catalogue of seven types of dependencies consistently
found in RESTful web APIsMinisterio de Economía y Competitividad BELI (TIN2015-70560-R)Ministerio de Ciencia, Innovación y Universidades Horatio RTI2018-101204-B-C21Ministerio de Educación, Cultura y Deporte FPU17/0407