1 research outputs found
GraphQL API generating service for Django
Tato bakalářská práce se zabĂ˝vá vĂ˝vojem modulu pro generovánĂ GraphQL API ve webovĂ©m frameworku Django. Hlavnà část práce Ĺ™ešà rozvoj modulu Simple API, kterĂ˝ se zaměřuje na rychlou tvorbu API vycházejĂcĂ z existujĂcĂch definicĂ v Django. Práce obsahuje analĂ˝zu existujĂcĂch modulĹŻ na integraci API do frameworku Django, nejen ty zaloĹľenĂ© na GraphQL, ale takĂ© na architektuĹ™e REST. Práce takĂ© obsahuje analĂ˝zu aktuálnĂho stavu vĂ˝voje Simple API a na základÄ› tĂ©to analĂ˝zy je vytvoĹ™en návrh na doplnÄ›nĂ chybÄ›jĂcĂch funkcĂ, následovanĂ˝ jejich implementacĂ. RozšĂĹ™enĂ se zabĂ˝vá nejen prvky dĹŻleĹľitĂ˝mi pro funkÄŤnost modulu, ale takĂ© integrovánĂm zabezpeÄŤenĂ GraphQL serveru proti Denial of Service (DoS) a batching ĂştokĹŻm prostĹ™ednictvĂm komplexnĂch dotazĹŻ. Práce obsahuje popis vĂ˝voje dynamickĂ© webovĂ© aplikace pro testovánĂ vĂ˝stupnĂho API. VĂ˝sledkem práce je rozšĂĹ™enĂ Simple API a webovĂ© prostĹ™edĂ Simple API Admin pro prozkoumánĂ a testovánĂ vygenerovanĂ©ho koncovĂ©ho bodu.This bachelor’s thesis describes the development of a module for generating GraphQL API for the Django web framework. The main part of this thesis is concerned with furthering the development of Simple API module, which aims to facilitate fast creation of API endpoints from existing Django definitions. The thesis contains an analysis of existing modules for API creation in Django, not just GraphQL, but also of those generating REST-style API. From the analysis of the current state of Simple API development, new additions to Simple API are designed, then implemented. Other than functional additions, the development also concerns the design and implementation of security features necessary for prevention of Denial of Service (DoS) and batching attacks through complex queries. Furthermore, a web application for testing of the API is also developed in the thesis. The result of this thesis is the expansion of the module Simple API and web application Simple API admin for exploration and testing of the generated endpoint