/swagger/index.html. Jest
on opcjonalny na dwóch poziomach: binarka musi być skompilowana z build tagiem swagger,
a w czasie działania musi być ustawione SWAGGER_ENABLED.
Dlaczego nie ma go w domyślnym buildzie
Binarki z releasów i oficjalny obraz Dockera są budowane bez taguswagger. Osadzona specyfikacja i zasoby UI zwiększają binarkę o ponad 30 MB
(mniej więcej z 55 MB do 88 MB w buildzie bez strip), a tym samym również obraz, a
endpoint rzadko jest potrzebny na produkcji. Pominięcie go utrzymuje artefakty
małe, a udostępnioną powierzchnię minimalną.
Jeśli potrzebujesz tylko specyfikacji API, użyj zamiast tego pliku
docs/openapi.json
z repozytorium w dowolnej przeglądarce OpenAPI.
Budowanie ze Swaggerem
make run buduje z tym tagiem i automatycznie włącza UI na potrzeby lokalnego
developmentu.
Włączanie w czasie działania
config.yaml:
BASE_PATH. Jeśli SWAGGER_ENABLED=true jest ustawione dla binarki zbudowanej
bez tagu, GoModel loguje ostrzeżenie przy starcie i nie serwuje niczego pod
/swagger/*.
Regenerowanie specyfikacji
Po zmianie adnotacji API uruchommake swagger, żeby zregenerować osadzony
pakiet dokumentacji i docs/openapi.json. Szczegóły znajdziesz w
DEVELOPMENT.md.