Spring Boot REST-rajapinnan automaattinen dokumentointi
Penttinen, Jere (2024)
Penttinen, Jere
2024
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024111528388
https://urn.fi/URN:NBN:fi:amk-2024111528388
Tiivistelmä
Opinnäytetyön tarkoituksena oli paikata Spring Boot -asiakasprojektin OpenAPI-dokumentaation puutteita sekä kehittää menetelmiä ehkäistä virheellisen OpenAPI-dokumentin tuottamista. Opinnäytetyössä haluttiin selvittää, kuinka voidaan hyödyntää muihin tarkoituksiin käytettyjä Java-annotaatioita ja muita kielen ominaisuuksia dokumentaation tuottamisessa.
Yhtenä tavoitteena oli tutkia, millä keinoilla voidaan dokumentoida rooli- ja attribuuttipohjaista pääsynhallintaa sekä rajapinnan virhetilanteita vaivattomammin.
Opinnäytetyön raportin tarkoituksena oli toimia resurssina kehittäjille, jotka ovat kiinnostuneita Spring Boot REST-rajapintojen dokumentoinnista. Opinnäytetyön raportti toivottavasti auttaa kehittäjää saavuttamaan perustason ymmärrysksen OpenAPIsta ja siitä, kuinka rajapintadokumentaatio voidaan tuottaa Spring Boot -sovelluskehykselle.
Työn tuloksena syntyi OpenAPI-dokumentin tuottamiseen komponentteja, joilla laajennetaan Springdoc-kirjaston tarjoamia oletustoteuksia. Nämä komponentit pystyvät tuottamaan tyypeiltä tarkemman sekä tarkemmin spesifikaatiota noudattavan OpenAPI-dokumentin. Aikaisemmin virheherkkien ja toistuvien sanomarakenteiden määrittely on uusien komponenttien myötä virheetöntä ja vaivatonta.
Yhtenä tavoitteena oli tutkia, millä keinoilla voidaan dokumentoida rooli- ja attribuuttipohjaista pääsynhallintaa sekä rajapinnan virhetilanteita vaivattomammin.
Opinnäytetyön raportin tarkoituksena oli toimia resurssina kehittäjille, jotka ovat kiinnostuneita Spring Boot REST-rajapintojen dokumentoinnista. Opinnäytetyön raportti toivottavasti auttaa kehittäjää saavuttamaan perustason ymmärrysksen OpenAPIsta ja siitä, kuinka rajapintadokumentaatio voidaan tuottaa Spring Boot -sovelluskehykselle.
Työn tuloksena syntyi OpenAPI-dokumentin tuottamiseen komponentteja, joilla laajennetaan Springdoc-kirjaston tarjoamia oletustoteuksia. Nämä komponentit pystyvät tuottamaan tyypeiltä tarkemman sekä tarkemmin spesifikaatiota noudattavan OpenAPI-dokumentin. Aikaisemmin virheherkkien ja toistuvien sanomarakenteiden määrittely on uusien komponenttien myötä virheetöntä ja vaivatonta.