API 서버를 사용할 때 응답이 동일한 형식이 아닌 경우 프런트 엔드에서 처리하는 것이 귀찮을 수 있습니다.
따라서 응답 형식 설정은 필수입니다.
{
"code": 200,
"msg": "OK",
"data": {
"user": {
"id": 2,
"email": "[email protected]",
"password": null,
"name": "test",
"created_at": "2023-02-21T12:35:30.745817+09:00"
},
"message": "login success",
"token": {
"access": "access token",
"refresh": "refresh token"
}
}
}
이와 같이? ?
각 요청에 대해 개별적으로 응답 형식을 지정해야 한다면 지루할 것입니다.
그러나 Django를 개발한 개발자는 바보가 아니기 때문에 그들의 라이브러리를 사용하여 전체 응답을 형식화할 수 있습니다.
1. 라이브러리 설치
pip install djangorestframework-jsonp
2. 응답 형식 파일 만들기
프로젝트 폴더를 기반으로 파일을 생성하기만 하면 됩니다.
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 파일의 프레임워크 재설정 섹션에 파일 경로를 추가합니다.
REST_FRAMEWORK = {
.
.
.
'DEFAULT_RENDERER_CLASSES': (
'config.response_format.Default',
),
.
.
.
}
좋아요