Swagger — це інструмент, який використовується для документації та дизайну API. Він допомагає розробникам робити роботу швидше та зручніше. Тепер ви можете подумати, як це економить час і спрощує роботу? Ось детальне пояснення, прочитайте, будь ласка, одну хвилину — сподіваюся, це буде корисно.
Важливість Swagger
Swagger в основному спрощує процес документації та тестування API. Він автоматично створює документацію для всіх API вашого проекту, де детально відображаються endpoints API, параметри, поля моделі та операції. Тому вам більше не доведеться постійно шукати endpoints у файлі urls.py
. Ось кілька переваг:
- Перегляд endpoint: Ви можете побачити всі endpoints вашого проекту в одному місці.
- Опис полів моделі: Отримуйте детальну інформацію про поля API, пов'язані з кожною моделлю.
- Тестування операцій: Ви можете тестувати операції POST, GET, PUT, DELETE безпосередньо через Swagger UI.
- Легке спілкування: Спрощує комунікацію між розробниками щодо API.
Кроки для налаштування
Налаштувати Swagger дуже просто. Слідуйте цим крокам:
1. Встановіть пакет drf-yasg
pip install drf-yasg
2. Додайте в INSTALLED_APPS
в settings.py
INSTALLED_APPS = [
...
'drf_yasg',
]
3. Додайте код у файл urls.py
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include, re_path
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from rest_framework import permissions
# Налаштування перегляду схеми
schema_view = get_schema_view(
openapi.Info(
title="API Documentation",
default_version='v1',
description="API документація для вашого проекту",
terms_of_service="https://www.example.com/terms/",
contact=openapi.Contact(email="[email protected]"),
license=openapi.License(name="BSD License"),
),
public=True,
permission_classes=(permissions.AllowAny,),
)
urlpatterns = [
path('admin/', admin.site.urls),
path('account/', include('users.urls')),
path('api/', include('core.urls')),
# Swagger UI:
re_path(r'^swagger(?P\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
# ReDoc UI:
path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
4. Запустіть сервер
python manage.py runserver
5. Перегляньте Swagger UI
Відкрийте в браузері: http://127.0.0.1:8000/swagger/
Перекладено з: Swagger কী এবং কেন এটি গুরুত্বপূর্ণ?