Zavádění OpenAPI specifikací do REST API existujících aplikací
Introducing OpenAPI specifications in REST API of existing applications
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/203063Identifikátory
SIS: 276253
Kolekce
- Kvalifikační práce [11986]
Autor
Vedoucí práce
Oponent práce
Klímek, Jakub
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika - Softwarové a datové inženýrství
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
9. 9. 2025
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
OpenAPI|swagger|REST API|client|serverKlíčová slova (anglicky)
OpenAPI|swagger|REST API|client|serverReCodEx, platforma pro správu programovacích úloh, je tížena technickým dluhem ve svém API serveru. To ztěžuje udržovatelnost z důvodu nekonzis- tentních anotací a nedostatečného validačního systému. Tato práce modernizuje server zavedením robustního systému založeného na PHP atributech, který umožňuje automatické generování specifikace OpenAPI (OAS) a vylepšuje validaci uživatelských požadavků. Pro tuto změnu byl vyv- inut nástroj, který dokáže konvertovat původní kód do nové podoby. Vygen- erovaná specifikace OAS byla následně použita k vytvoření nového, udržovatelného klienta pro příkazovou řádku v Pythonu. Srovnání se starým systémem ukazuje, že refaktorovaný systém splňuje všechny funkční požadavky bez znatelného snížení výkonu, přičemž zavádí nové funkcional- ity, které usnadňují vývoj.
The ReCodEx system, a platform for managing programming assignments, suf- fers from technical debt in its core API server. This hinders maintainability due to inconsistent endpoint annotations and a lacking validation system. This thesis modernizes the server by introducing a robust framework based on PHP attributes that enables automated OpenAPI Specification (OAS) genera- tion and improves user request validation. A conversion tool was developed to automatically refactor the legacy codebase. The generated OAS was then used to create a new maintainable Python CLI client. The evaluation shows that the refactored system meets all functional require- ments without a noticable drop in performance while adding many new features that improve the developer experience.
