Zavádění OpenAPI specifikací do REST API existujících aplikací
Thesis title in Czech: | Zavádění OpenAPI specifikací do REST API existujících aplikací |
---|---|
Thesis title in English: | Introducing OpenAPI specifications in REST API of existing applications |
Key words: | OpenAPI|swagger|REST API|client|server |
English key words: | OpenAPI|swagger|REST API|client|server |
Academic year of topic announcement: | 2024/2025 |
Thesis type: | diploma thesis |
Thesis language: | |
Department: | Department of Distributed and Dependable Systems (32-KDSS) |
Supervisor: | doc. RNDr. Martin Kruliš, Ph.D. |
Author: | hidden![]() |
Date of registration: | 22.10.2024 |
Date of assignment: | 02.12.2024 |
Confirmed by Study dept. on: | 02.12.2024 |
Guidelines |
OpenAPI represents a modern format for specifying REST API client-server interfaces. However, introducing OpenAPI specification into existing applications designed without explicit API models is challenging. The REST API specification usually exists only in the server implementation and may be difficult to formalize using semi-automated methods. The main objective is to design and implement new features to ReCodEx (an existing web application with REST API) to enable automated generation of OpenAPI specification. This will also require modification of established definitions and declarations of application endpoint (e.g., by introducing new types, annotations, or helper data structures). Besides the OpenAPI, the modifications will improve input validation and output generators for the REST API endpoints.
As a proof of concept, the generated OpenAPI specification will be used to automatically generate client-side code for ReCodEx CLI, a command line tool used to invoke the REST API from user scripts. |
References |
OpenAPI specification https://swagger.io/specification/
ReCodEx https://github.com/ReCodEx Nette framework https://nette.org/ Karlsson, S., Čaušević, A., & Sundmark, D. (2020, October). QuickREST: Property-based test generation of OpenAPI-described RESTful APIs. In 2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST) (pp. 131-141). IEEE. |