OpenAPI-spesifikaation mukaisten rajapintojen toteuttaminen Djangolla ja Django REST frameworkilla

Abstract

Tämän opinnäytetyön tavoitteena oli tutkia ja selventää OpenAPI-spesifikaation mukaisten rajapintojen toteutusta, kuvaamista ja dokumentointia Django-verkkosovelluskehyksen ja erityisesti Django REST framework -kehyksen avulla. Työssä perehdyttiin rajapintojen yleiseen merkitykseen ohjelmistokehityksessä, HTTP-protokollan toimintaperiaatteisiin ja REST-arkkitehtuurityyliin. Opinnäytetyössä käsiteltiin OpenAPI-spesifikaatioon liittyvää historiaa, rakennetta ja sen tarjoamia hyötyjä rajapintojen suunnittelussa ja hallinnassa. Erityistä huomiota kiinnitettiin OpenAPI-spesifikaation ekosysteemin työkaluihin, kuten Swagger UI:n automaattiseen dokumentaation generointiin, Prismin kaltaisiin validaatio- ja jäljittelypalvelimien luontityökaluihin sekä OpenAPI Generatorin kykyyn luoda SDK-kirjastoja ja palvelinrunkoja, jotka nopeuttavat kehitysprosessia. Työssä selvitettiin myös Djangon ja Django REST frameworkin toimintaa ja roolia web-sovellusten ja REST-rajapintojen rakentamisessa. Django Ninja esiteltiin yhtenä Django REST frameworkin vaihtoehtona sen hyötyjen vuoksi. Opinnäytetyössä pyrittiin tuottamaan konkreettista lisäarvoa työn tilaajalle Haltu Oy:lle, jonka tarpeena oli saada rajapintasovelluskehityksen yhteyteen parempaa rajapintadokumentaatiota. Tätä lähdettiin toteuttamaan kehittämällä keskitetysti käytössä olevaa lähdekoodin mallipohjaa, jota kuka tahansa yrityksessä pystyy hyödyntämään. Kehitetty mallipohja sisältää kaikki tarvittavat osat automaattisen OpenAPI-dokumentaation luomiseen osana Django REST frameworkia hyödyntävää Django-sovellusta. Käytännön sovellus kuvaa etenkin mallipohjan kehittämisen prosessia ja toteutukseen vaikuttavia seikkoja. Pohdinta-osiossa käsitellään työn johtopäätöksiä ja mahdollisia jatkokehitys ja -tutkimusmahdollisuuksia, jotka liittyvät OpenAPI-spesifikaation hyödyntämiseen Django- ja Django REST framework -projekteissa.This thesis aimed to investigate and clarify implementing OpenAPI Specification compliant APIs using Django and Django REST framework. The study explored APIs, the HTTP protocol, and the REST architectural style. The thesis covers the history, structure, and benefits of the OpenAPI Specification in API design and management. It also highlights some OpenAPI Specification ecosystem tools: Swagger UI for automatic documentation, Prism for validation and mock servers, and OpenAPI Generator for creating SDKs and server stubs to speed up development. The thesis examines how Django and Django REST framework function when building web applications and REST APIs. Django Ninja is introduced as an alternative to Django REST framework due to its advantages. To address Haltu Oy’s needs for better API documentation, a reusable source code template was developed for anyone to use in the company. The template includes all necessary components for creating automatic OpenAPI documentation within a Django application using the Django REST framework. The thesis discusses the template’s development process and influencing factors

Similar works

Full text

thumbnail-image

Theseus theses and publications of the Universities of Applied Sciences

redirect
Last time updated on 11/06/2025

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.

Licence: CC BY 4.0