Що таке Swagger і чому це важливо?

Swagger — це інструмент, який використовується для документації та дизайну API. Він допомагає розробникам робити роботу швидше та зручніше. Тепер ви можете подумати, як це економить час і спрощує роботу? Ось детальне пояснення, прочитайте, будь ласка, одну хвилину — сподіваюся, це буде корисно.

pic

Важливість Swagger

Swagger в основному спрощує процес документації та тестування API. Він автоматично створює документацію для всіх API вашого проекту, де детально відображаються endpoints API, параметри, поля моделі та операції. Тому вам більше не доведеться постійно шукати endpoints у файлі urls.py. Ось кілька переваг:

  1. Перегляд endpoint: Ви можете побачити всі endpoints вашого проекту в одному місці.
  2. Опис полів моделі: Отримуйте детальну інформацію про поля API, пов'язані з кожною моделлю.
  3. Тестування операцій: Ви можете тестувати операції POST, GET, PUT, DELETE безпосередньо через Swagger UI.
  4. Легке спілкування: Спрощує комунікацію між розробниками щодо 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 কী এবং কেন এটি গুরুত্বপূর্ণ?

Leave a Reply

Your email address will not be published. Required fields are marked *