Backend/Django

[Django] Swagger 연결하기 (+ postman)

lim.dev 2022. 9. 14. 18:06

Django swagger 연결

1. drf-yasg 다운

pip install drf-yasg

2. settings.py 에 추가

INSTALLED_APPS = [
    ...
    
    'drf_yasg',
    'rest_framework',
    
    ...
]

3. urls.py 에 아래 내용 추가

from django.urls import re_path
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from rest_framework.permissions import AllowAny

schema_view_v1 = get_schema_view(
    openapi.Info(
        title="제목",
        default_version='v1',
        description="설명",
        terms_of_service="https://www.google.com/policies/terms/",
    ),
    public=True,
    permission_classes=(AllowAny,),
)

urlpatterns = [
	
    ...
    
    re_path(r'^swagger(?P<format>\.json|\.yaml)$', schema_view_v1.without_ui(cache_timeout=0), name='schema-json'),
    re_path(r'^swagger/$', schema_view_v1.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
    re_path(r'^redoc/$', schema_view_v1.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]

# http://127.0.0.1:8000/swagger/
# http://127.0.0.1:8000/redoc/
# http://localhost:8000/swagger/?format=openapi

4. 서버를 실행 

python3 manage.py runserver

5. 주소로 접속 (8080으로 열었다면 8080으로~~)

http://127.0.0.1:8000/swagger/
http://127.0.0.1:8000/redoc/

 

Swagger Postman연결

1. 스웨거에서 링크 확인

http://localhost:8000/swagger/?format=openapi 

2. postman에서 import