Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach - Carvalho, Tiago Emanuel Andrade de (2021)
With the increasing usage of the Internet, the development of Web Application Programming Interface (API)s became one of the most important areas of software development. Along the years, how this development was made, how the security was approached and how much time was spent in the project outside of the development part changed. One of these changes was the introduction of Web API definition files, that specify how clients and servers communicate and what resources are provided. With this, different methodologies of work to create clients and servers appeared. The approaches studied in this dissertation were Code First Approach, were the development happens before the generation of these files, and Design First Approach, were the definition files are created before the development of the software. The objective of this dissertation is the study of a new solution to the creation of Web API definition files, that follows the Design First Approach, that are aided by a graphic interface, and a server, where definitions files can be saved, associated with projects. These can have multiple files associated. To better understand how the solution defined in this dissertation brings new ideas and a different approach to the Design First Approach, multiple solutions were analyzed, along with the possible solution that responds to the objective of this dissertation. During this analysis, the functional and non functional requirements were defined, along with the use cases and data model, for the development of a REpresentational State Transfer (REST) API based solution. With this analysis, a prototype was created and tested, following a set of tests defined. The defined tests were executed in a controlled environment, but don’t completely reflect a real situation, were multiple requests are made by users. The tests still revealed that the prototype can generate correct specifications, to be used in the development of servers and clients and these can be correctly saved in the server, without taking much time to respond to the client (less than 400 ms on the tests, acceptable in the context of the test conditions). It was concluded that the solution has high potential to be an alternative to the current solutions in the market, bringing the idea of projects and server-side file saving and a better functionality of the web site, thanks to its graphic interface that shows what content is needed in a specification, reducing errors on the creation of specifications. Keywords: REST, Specification, Web API, Design First Development, Functionality