API 서버를 사용할때 응답의 포멧이 다르다면 프론트에서 처리하기가 매우 화가 날것이다.
그렇기 때문에 응답(response) 포멧 설정이 필수적이다.
{
"code": 200,
"msg": "OK",
"data": {
"user": {
"id": 2,
"email": "test@test.com",
"password": null,
"name": "test",
"created_at": "2023-02-21T12:35:30.745817+09:00"
},
"message": "login success",
"token": {
"access": "access token",
"refresh": "refresh token"
}
}
}
이런 식으로??
만일 모든 요청에 대해서 응답 포멧을 일일이 설정해 줘야 한다면 매우 번거로운 일이 될 것이다.
하지만 장고를 개발한 개발자들이 그렇게 멍청하지 않으니 우리는 그들이 만든 라이브러리를 사용해서 전체 응답 형식을 설정해 줄 수 있다.
1. 라이브러리 설치
pip install djangorestframework-jsonp
2. response 포멧 파일 생성
본인의 프로젝트 폴더에 맞게 파일을 생성해 주면 된다.
project/config/response_format.py
from rest_framework.renderers import JSONRenderer
class Default(JSONRenderer):
def render(self, data, accepted_media_type=None, renderer_context=None):
response_data = renderer_context.get('response')
response = {
'code': response_data.status_code,
'msg': response_data.status_text,
'data': data
}
return super(Default, self).render(response, accepted_media_type, renderer_context)
3. settings.py 수정
settings.py 파일의 reset framework 부분에 해당 파일을 경로를 추가해 준다.
REST_FRAMEWORK = {
.
.
.
'DEFAULT_RENDERER_CLASSES': [
'config.response_format.Default',
],
.
.
.
}
끄읕
'Django' 카테고리의 다른 글
DRF 프로젝트 우분투 서버 git push로 배포하기 (0) | 2023.03.31 |
---|---|
DRF(Django REST framework)로 API 서비스 만들기-3 (0) | 2023.02.14 |
DRF(Django REST framework)로 API 서비스 만들기-2 (0) | 2023.02.14 |
DRF(Django REST framework)로 API 서비스 만들기-1 (0) | 2023.02.14 |
요청 도메인, 아이피, 정보 얻기 (0) | 2023.02.10 |