Swagger?
API서버를 자동으로 문서화 시켜주는 도구이다. API 주소또는 각 API의 메소드를 명시해주고, request 나 body 같은 payload도 문서 내에서 사용 가능하게 해준다.
설치
pip install drf-yasg
환경설정
다음은 Swagger를 위한 URL 엔드포인트를 추가해야 한다.
urls.py에 추가해야 한다
클래스형 View와 Serialezer 작성
프로젝트 앱 내 url
urlpatterns = [
# path('user_list/', views.UserList.as_view(),),
path('v1/authorization/access-token', views.GetAccessToken.as_view(),),
# path('v1/authorization/RefreshToken/', views.GetAccessTokenByRefreshToken.as_view(),),
path('v1/authorization/refresh-token', views.TokenView.as_view(),),
]
사용자 인증을 구현하는 클래스이다.
# 사용자 인증을 하고 AccessToken을 반환한다
class GetAccessToken(GenericAPIView):
parser_classes = (MultiPartParser,)
serializer_class = AuthorizationSerializer <- 클래스형 view에서 사용할 시리얼라이저 선언
permission_classes = [permissions.AllowAny]
@swagger_auto_schema(operation_summary="Authorization",
operation_description="POST /ds/api/v1/authorization/access-token",
responses={
200: SUCCESS.as_md() + USER_DOES_NOT_FOUND.as_md() + WRONG_CLIENT_ID.as_md() + PASSWORD_IS_WRONG.as_md()
},
)
def post(self, request):
params = request.POST
client_id = params.get('client_id')
client_secret = params.get('client_secret')
email = params.get('email')
password = params.get('password')
'development > Mr.dJango 장고뽀개기' 카테고리의 다른 글
dJango ORM Select 절의 Subquery (0) | 2020.07.31 |
---|---|
serializers 를 이용할때 에러 (0) | 2020.06.15 |
django- setting.py db접속 에러 (0) | 2020.06.03 |
Django values_list() (0) | 2020.04.24 |
wkhtmltopdf 파일 변환시 폰트 깨지는 현상 (0) | 2019.10.31 |