TeamQuest Blog

OpenAPI - dokumentacja dla Twojego API

OpenAPI - dokumentacja dla Twojego API

Marcin Sarna , 12.01.2021 r.

Jak szybko pokazać innym jak działa API, które stworzyłeś.

Na co pozwala OpenAPI

Dzięki OpenAPI (openapis.org) możesz udostępnić specyfikację techniczną swojego interfejsu API w formacie deklaratywnym, opartym na JSON lub YAML. Tak utworzona dokumentacja będzie zawierać wszystkie dane niezbędne do interakcji z interfejsem API, w tym punkty końcowe (endpoints), parametry żądań (parametry zapytań lub treść) oraz odpowiedzi (kod stanu, dane). Ponadto możesz dodać dodatkowe teksty opisowe i grafiki, aby lepiej wytłumaczyć działanie poszczególnych opcji.

Pamiętaj – niestaranna dokumentacja to jeden z grzechów głównych dewelopera.

Podstawowym narzędziem do szybkiego utworzenia dokumentacji jest generator dokumentacji. Generatory dokumentacji przyjmują specyfikację OpenAPI i przekształcają ją w czytelną dla człowieka formę, głównie strony HTML. Układ wyników dokumentacji jest bardzo zróżnicowany, podobnie jak funkcje: wyszukiwanie pełnotekstowe, składanie i rozwijanie przykładów kodu, klikalne linki a nawet wykonywanie wywołań API.

W openapi.tools można znaleźć sporo służących temu narzędzi – przyjrzyjmy się paru z nim.

RapiDoc

RapiDoc to konfigurowalna przeglądarka dokumentacji. To narzędzie umożliwia załadowanie dowolnej specyfikacji OpenAPI, do której można uzyskać dostęp za pośrednictwem adresu URL. Po prostu wklej link w małym pasku wyszukiwania, a zaraz potem możesz przejrzeć dokumentację.

Sprawdź oferty pracy na TeamQuest

RapiDoc tworzy strukturę API zgodnie z kolejnością leksykalną wszystkich punktów końcowych zawartych w specyfikacji. Poszczególne metody HTTP są reprezentowane różnymi kolorami, co sprawia, że reprezentacja jest raczej pstrokata. Po kliknięciu punktu końcowego otwiera się nowy widok: żądanie po lewej stronie, odpowiedź po prawej stronie. Strona zapytania zawiera już wszystkie informacje jakich można potrzebować: każde pole zawiera pełną dokumentację, w tym typ i opis. Żądanie można wyświetlić jako „wartość”, pokazując dane w formacie danych preferowanym dla tego konkretnego punktu końcowego i jego modelu, a także pełny opis modelu. Strona odpowiedzi pokazuje również przykład odpowiedzi i pełny model danych.

Wada? Brak opcji wyszukiwania (a przeglądarkowy skrót CTRL + F to nie to samo).

ReDoc

ReDoc jest podobny do RapiDoc: samodzielnie hostowana przeglądarka dokumentacji, za pomocą której można ładować i przeglądać dowolną specyfikację OpenAPI opartą na JSON. Uważaj, jeśli załadujesz obszerną specyfikację: na przykład specyfikacja Kubernetes o rozmiarze 4 MB ładuje się przez około 1 minutę…

Układ dokumentacji to trzy osobne jakby pasy z informacjami. Po lewej stronie znajduje się lista wszystkich punktów końcowych, pogrupowanych według wartości tagu w specyfikacji OpenAPI. W centrum znajduje się dokumentacja aktualnie wybranego punktu końcowego: opis, parametry i odpowiedzi. Wreszcie po prawej stronie widać zwijalny model żądań. Nie ma opcji kopiowania treści żądania, ale można skopiować model odpowiedzi.

Pozostałe

Slant to generator dokumentów, który musisz samodzielnie zainstalować i hostować. Jest nadal w fazie rozwoju i nie można go skonfigurować do pracy ze specyfikacją OpenAPI.

Są też płatne rozwiązania: ReadMe jest oparte o specyfikację OpenAPI, ale dokumentację można wzbogacić dodatkowymi przykładami, wskazówkami technicznymi, a nawet sekcją pomocy. Z kolei API Matic to narzędzie do tworzenia kompletnego portalu dla programistów w oparciu o specyfikację OpenAPI. Po zarejestrowaniu się, główna strona administratora pokazuje wszystkie „projekty API” i stamtąd możesz uzyskać dostęp do każdego projektu w celu edycji i konfiguracji.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej