코딩한걸음
article thumbnail
Published 2023. 5. 3. 02:29
[DRF] Swagger 적용해보기 Python/Django
728x90
반응형
💡
이 포스팅은 window, vscode 기준으로 작성되었습니다.

참고자료

https://drf-yasg.readthedocs.io/en/stable/readme.html

Swagger 적용하기

## console
pip install drf-yasg
pip freeze > requirements.txt

## drf_project/settings.py
INSTALLED_APPS = [
   ...
   'drf_yasg',
   ...
]

## drf_project/urls.py
from django.contrib import admin
from django.urls import path, include, re_path
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi

schema_view = get_schema_view(
   openapi.Info(
      title="Snippets API",
      default_version='v1',
      description="Test description",
      terms_of_service="https://www.google.com/policies/terms/",
      contact=openapi.Contact(email="contact@snippets.local"),
      license=openapi.License(name="BSD License"),
   ),
   public=True,
   permission_classes=[permissions.AllowAny],
)

urlpatterns = [
    path("admin/", admin.site.urls),
    path("articles/", include("articles.urls")),
    re_path(r'^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
    re_path(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
    re_path(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]

http://127.0.0.1:8000/swagger/

Swagger를 이용하면 모든 api들을 한 페이지에서 볼 수 있어서

개발하는데 매우 유용하다


Uploaded by N2T

728x90
반응형
profile

코딩한걸음

@Joonyeol_Yoon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!