Abstract:As an important way to access and use web services, REST API provides a technical means for developing and implementing service-oriented architecture-based application systems. However, REST API's design quality varies, so practical and reasonable design guidelines are essential for standardizing and improving REST API design quality. First of all, based on the connotation of REST API, a multi-dimensional, two-layered REST API design guideline classification framework REST API design rule catalog (RADRC) is established. Twenty-five popular design guidelines are classified based on RADRC. Secondly, a REST API design guideline compliance inspection tool, namely RESTer, is implemented. Finally, RESTer is employed to conduct an empirical study on current REST API design by analyzing nearly 2 000 real-world REST API documents from APIs.guru. RESTer analyzes the documents and extracts REST API design information for characterizing REST API design and inspecting compliance with the design guidelines. The empirical study finds that REST APIs of different application categories vary in resources and operation modes, making different categories REST APIs have the characteristics in terms of design guidelines and overall architecture. The empirical study results help understand the characteristics, status quo, and shortcomings of current REST APIs and their adoptions of design guidelines, which is practically significant to improve REST API design quality and design guidelines.