Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator OpenAPI

Specyfikacja OpenAPI 3.0.3 w YAML lub JSON z listy endpointów, gotowa do Swagger Editor i Postmana

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

Metody: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Zamiast średnika można użyć |. Fragment w klamrach, np. /users/{id}, staje się parametrem ścieżki.

Dopisze GET i POST /zasób oraz GET, PUT i DELETE /zasób/{id}; istniejących wierszy nie powtórzy.

Dodatki do specyfikacji

Dane zostały zmienione. Kliknij „Generuj OpenAPI”, aby odświeżyć plik.

Ścieżki

2

Operacje

3

Linie

47

Rozmiar

958 B

openapi.yaml

openapi: 3.0.3 info: title: My API version: 1.0.0 description: Opis API servers: - url: "https://api.example.com" security: - bearerAuth: [] paths: /users: get: summary: Lista użytkowników responses: '200': description: Sukces '400': description: Błąd żądania post: summary: Utworzenie użytkownika responses: '200': description: Sukces '201': description: Utworzono '400': description: Błąd żądania /users/{id}: get: summary: Szczegóły użytkownika parameters: - name: id in: path required: true schema: type: string responses: '200': description: Sukces '400': description: Błąd żądania components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT
OpenAPI 3.0.3: wklej do Swagger Editor albo zaimportuj w Postmanie.
Endpointy w specyfikacji
MetodaŚcieżkaOpis (summary)Parametry ścieżki
GET /users Lista użytkowników —
POST /users Utworzenie użytkownika —
GET /users/{id} Szczegóły użytkownika id

Ściąga: metody HTTP w specyfikacji OpenAPI

Typowe kody odpowiedzi; bezpieczeństwo i idempotentność metod wg RFC 9110
MetodaTypowe użycieTypowe kodyBezpiecznaIdempotentna
GET Pobranie zasobu lub listy 200, 404 tak tak
POST Utworzenie zasobu lub wykonanie akcji 201 (lub 200), 400 nie nie
PUT Zastąpienie całego zasobu 200 lub 204, 404 nie tak
PATCH Zmiana części zasobu 200 lub 204, 404 nie nie
DELETE Usunięcie zasobu 204 lub 200, 404 nie tak
HEAD Jak GET, ale bez treści odpowiedzi 200, 404 tak tak
OPTIONS Lista dozwolonych metod (np. CORS) 200 lub 204 tak tak

Format wiersza z endpointem

Każdy endpoint to osobny wiersz: METODA; /ścieżka; opis. Zamiast średnika można użyć pionowej kreski. Wielkość liter metody nie ma znaczenia. Opis trafia do pola summary; bez opisu generator wpisze np. „Get /users”. Każdy fragment w klamrach, np. {id}, staje się parametrem ścieżki (in: path, required: true, typ string).

Co zawiera wygenerowany plik

Nagłówek openapi: 3.0.3, sekcję info (tytuł, wersja, opis), adres serwera, globalne zabezpieczenie (Bearer JWT albo klucz w nagłówku X-API-Key) i ścieżki. Każda operacja dostaje odpowiedzi 200 i 400, a POST dodatkowo 201. Dodatki dopisują operationId, tagi, szkielet JSON oraz odpowiedzi 401 i 404.

Gdzie użyć specyfikacji

Wklej plik do Swagger Editor, żeby zobaczyć dokumentację i błędy walidacji. Postman importuje OpenAPI jako kolekcję żądań, a openapi-generator tworzy z niego klienta albo szkielet serwera. Schemat type: object to punkt wyjścia: dopisz properties i required dla własnych danych.

Typowe pułapki

Każdy parametr ze ścieżki musi być opisany w parameters; generator dodaje wszystkie, także przy kilku parametrach. Ta sama metoda nie może wystąpić dwa razy na jednej ścieżce. Wersja 1.0 bez cudzysłowu byłaby w YAML liczbą, a yes/no w parserach YAML 1.1 wartością logiczną, więc takie wartości trafiają do pliku w cudzysłowie.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator OpenAPI: specyfikacja API w YAML lub JSON

Generator OpenAPI zamienia listę endpointów w plik specyfikacji OpenAPI 3.0.3, który można pobrać jako openapi.yaml albo openapi.json. OpenAPI to standard opisu API REST: na jego podstawie powstaje dokumentacja (Swagger UI, Swagger Editor), kolekcje w Postmanie, klienci SDK i testy kontraktowe.

Struktura specyfikacji

SekcjaOpis
openapiwersja standardu, tu zawsze 3.0.3
infotytuł, wersja, opis
serversadres bazowy API
securitysposób autoryzacji stosowany do wszystkich operacji
pathsendpointy, ich parametry i odpowiedzi
componentsdefinicja schematu zabezpieczeń (securitySchemes)

Format endpointów

Każdy endpoint to osobny wiersz METODA; ścieżka; opis, np. GET; /users; Lista użytkowników. Zamiast średnika można użyć pionowej kreski |. Obsługiwane metody to GET, POST, PUT, PATCH, DELETE, HEAD i OPTIONS, a wielkość liter nie ma znaczenia. Ścieżka musi zaczynać się od /, a każdy fragment w klamrach, np. {id}, staje się parametrem path. Jeden plik mieści do 100 endpointów.

Nie musisz wpisywać wszystkiego ręcznie. Gotowe zestawy (CRUD użytkowników, sklep, blog) wczytują przykładowe API, a pole „Dopisz komplet CRUD” dodaje dla podanego zasobu pięć endpointów: GET i POST /zasób oraz GET, PUT i DELETE /zasób/{id}, z pominięciem tych, które już są na liście.

Autoryzacja

  • Bearer – token JWT w nagłówku Authorization (schemat bearerAuth).
  • Klucz API – klucz w nagłówku X-API-Key (schemat apiKeyAuth). Inną nazwę nagłówka trzeba poprawić w pliku ręcznie.
  • Brak – plik nie zawiera sekcji security ani components.

Jak generator zamienia listę endpointów na specyfikację OpenAPI

Generator czyta tekst wiersz po wierszu i dzieli każdy na trzy części: metodę, ścieżkę i opis. Metoda jest sprawdzana względem listy obsługiwanych, a ścieżka trafia jako klucz do sekcji paths, z metodą jako zagnieżdżonym kluczem operacji. Opis staje się polem summary; jeśli go brak, generator wpisze np. „Get /users”. Błędny wiersz (nieznana metoda, ścieżka bez ukośnika, niedomknięta klamra, powtórzony endpoint) zatrzymuje generowanie i komunikat wskazuje jego numer.

Parametry path wykrywane są przez nawiasy klamrowe. Dla segmentu {id} generator tworzy wpis parameters z polami name: id, in: path, required: true i typem string. Tak samo działa każda inna nazwa w klamrach, także kilka parametrów w jednej ścieżce. Każda operacja dostaje odpowiedzi 200 i 400, a POST dodatkowo 201.

Cztery dodatki są opcjonalne. operationId powstaje z metody i ścieżki (GET /users/{id} → getUsersById) i jest unikalne w pliku, co pozwala generatorom SDK tworzyć czytelne nazwy funkcji. Tagi grupują operacje według pierwszego segmentu ścieżki, z pominięciem „api” i wersji typu v1. Szkielet JSON dodaje requestBody dla POST, PUT i PATCH oraz content application/json w odpowiedziach. Ostatnia opcja dopisuje 401 (gdy jest autoryzacja) i 404 (dla ścieżek z parametrem). W YAML wcięcie ma zawsze 2 spacje, a wartości, które parser odczytałby jako liczbę lub wartość logiczną (np. wersja 1.0, yes), trafiają do pliku w cudzysłowie.

Przykład krok po kroku: API sklepu z trzema endpointami

  1. W polu tytuł wpisujesz Sklep API, w polu wersja 1.0.0, a jako serwer podajesz https://api.sklep.pl.
  2. Wybierasz autoryzację Bearer – generator doda schemat http/bearer z formatem JWT.
  3. W polu endpointów wklejasz trzy wiersze: GET; /products; Lista produktów, GET; /products/{id}; Szczegóły produktu, POST; /orders; Nowe zamówienie.
  4. Generator tworzy trzy ścieżki i trzy operacje. Kafelki nad wynikiem pokażą: Ścieżki 3, Operacje 3.
  5. Ze ścieżki /products/{id} powstaje jeden parametr path o nazwie id, required: true, typ string. Pozostałe ścieżki nie mają parametrów.
  6. Obie operacje GET mają odpowiedzi 200 i 400, a POST /orders – 200, 201 i 400. Po zaznaczeniu operationId nazwy to getProducts, getProductsById i postOrders; po zaznaczeniu odpowiedzi 401 i 404 każda operacja dostanie 401, a 404 tylko GET /products/{id}.

Gdy dwie operacje mają tę samą ścieżkę (np. GET i PUT /products/{id}), liczba ścieżek będzie mniejsza od liczby operacji.

Mapowanie pól formularza na elementy specyfikacji

Element wejściaCo trafia do specyfikacjiUwagi
Tytułinfo.titleWymagany, do 120 znaków.
Wersjainfo.versionWymagana, wartość tekstowa, np. 1.0.0.
Opisinfo.descriptionOpcjonalny, do 1000 znaków.
Serwerservers[0].urlJeden adres zaczynający się od http://, https:// lub /; puste pole pomija sekcję servers.
Bearercomponents.securitySchemes oraz securitytype: http, scheme: bearer, bearerFormat: JWT.
Klucz APIcomponents.securitySchemes oraz securitytype: apiKey, in: header, name: X-API-Key.
Format plikuYAML lub JSONZawartość taka sama, różni się zapis i nazwa pliku.
Endpoint: metodapaths.[ścieżka].[metoda]Zapisywana małymi literami, jak wymaga standard.
Endpoint: {parametr}parameters z in: pathKażdy nawias klamrowy tworzy osobny parametr wymagany.

Praktyczne wskazówki przy generowaniu specyfikacji

  • Jedna metoda na wiersz. Zapis w rodzaju „GET, POST” generator odrzuci jako nieznaną metodę, więc dla endpointu z kilkoma metodami wpisz kilka wierszy z tą samą ścieżką.
  • Generator bierze pod uwagę tylko dwa pierwsze separatory. Średnik lub kreska w dalszej części wiersza zostają w opisie jako zwykły tekst.
  • Parametry w klamrach pisz literami łacińskimi, cyframi i podkreślnikiem: {id}, {slug}, {orderId}. Każdy dostaje typ string; po wygenerowaniu możesz zmienić go na integer lub dodać format, np. uuid.
  • Wygenerowany plik to szkielet. Schemat type: object ze szkieletu JSON uzupełnij o properties i required, najlepiej w components.schemas, aby Swagger UI pokazywał modele, a generator klientów tworzył typy.
  • Przy ręcznej edycji YAML pamiętaj, że nie toleruje on tabulatorów. Używaj spacji i spójnego wcięcia, inaczej walidator zgłosi błąd.

Czego narzędzie nie uwzględnia

  • Modeli danych. Generator nie tworzy components.schemas ani przykładów ciał żądań; szkielet JSON wstawia tylko ogólny schemat type: object.
  • Parametrów innych niż path. Parametry query, nagłówkowe (poza autoryzacją) i cookie trzeba dopisać ręcznie, np. dla filtrowania i paginacji.
  • Wielu środowisk i mieszanej autoryzacji. Formularz przewiduje jeden adres serwera i jeden schemat security dla całego API.
  • Zgodności z działającym API. Generator nie sprawdza, czy endpointy odpowiadają pod podanym adresem: specyfikacja opisuje to, co wpiszesz.

Najczęstsze pytania

Jak wygenerować plik openapi.yaml?

Wpisz tytuł, wersję i adres serwera, wybierz autoryzację, podaj endpointy w osobnych wierszach i kliknij „Generuj OpenAPI”. Przycisk „Pobierz openapi.yaml” zapisze plik; dla formatu JSON będzie to openapi.json.

Czym OpenAPI różni się od Swaggera?

Swagger to dawna nazwa specyfikacji, używana do wersji 2.0. OpenAPI 3.x to jej następca, a Swagger UI i Swagger Editor to narzędzia do wyświetlania i edycji plików OpenAPI.

Czy generator obsługuje OpenAPI 3.1?

Nie, plik ma nagłówek openapi: 3.0.3. Po ręcznej zmianie na 3.1 trzeba sprawdzić m.in. pola nullable, które w 3.1 zapisuje się inaczej.

Jak dodać parametry query do specyfikacji?

Po wygenerowaniu pliku dopisz przy wybranej operacji wpis w parameters z in: query oraz polami name, required i schema. Bez schema walidator zgłosi błąd.

Czy mogę wygenerować specyfikację z istniejącego kodu?

Nie, to narzędzie działa w drugą stronę: z opisanych endpointów tworzy plik. Specyfikację z kodu generują adnotacje we frameworku lub narzędzia analizujące kod.

Co zrobić, gdy API ma więcej niż 100 endpointów?

Generator przyjmuje do 100 wierszy naraz. Większe API podziel na kilka plików, np. według zasobów, i połącz je ręcznie w sekcji paths.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!