전체 글

장고 기본 View에서의 HttpResponse JSON 응답 모든 View는 HttpResponse 타입의 응답을 해야만 한다 장고 기본에서 HttpResponse JSON응답을 할 수 있는 2가지 종류가 있다 직접 json.dumps 를 통해 직렬화된 문자열을 획득하여 HttpResponse를 통해 응답 위의 과정을 합쳐 JsonResponse 라는 HttpResponse를 상속받은 클래스 지원 (내부적으로 DjangoJSONEncoder가 디폴트 지정) DRF Response 활용한 HttpResponse JSON 응답 qs = Post.objects.all() serializer = PostSerializer(qs, many=True) from rest_framework.response impor..
직렬화 ( Serializer ) 모든 프로그래밍 언어의 통신에서 데이터는 문자열로 표현되어야만 한다 직렬화에 대해 항상 비직렬화 규칙도 갖고 있어야 원래 객체 복원 가능하다 송신자 : 직렬화 (Serialize) = 객체를 문자열으로 변환하여 데이터 전송 수신자 : 비직렬화 (deserialize) = 수신한 문자열을 다시 객체로 변환하여 활용 직렬화 포맷의 종류 각 언어에서 모두 지원 : JSON, XML 등 특정 언어에서만 지원 : Pickle ( 파이썬 ), 직접 만든 커스텀 포맷 등 → 타 언어로 전달했을 때 비직렬화 에러 발생 보통의 웹 : GET 요청에 대해선 HTML 포맷으로 응답 / POST 요청에 대해선 application/x-www-form-urlencoded 나 multipart/..
django-rest-framework (DRF)설치 pip install djangorestframework~=3.11.0 settings.py 에 있는 INSTALLED_APPS에 "rest_framework" 추가 urls.py에 있는 urlpatterns에 path('api-auth/', include('rest_framework.urls')) 추가 → django.contrib.auth의 login,logout view 사용 한 모델(ex. Post) 에 대한 API 서비스 제공할때 기존 url 설계 새 포스팅 내용 등록하고 확인 응답 → /post/new/ 주소로 POST 요청 포스팅 목록 및 검색 응답 → /post/ 주소로 GET 요청 10번 포스팅 내용 응답 → /post/10 주소로 G..
API 서버란? 앱/웹 서비스를 만드는 개발자들이 이용하는 데이터(주로 json 포맷 사용) 위주의 서비스 - http 프로토콜에서 클라이언트가 서버에 html형식 요구하는 대신 스타일과 로직을 제외한 순수 데이터(xml, json)만 요구 시간이 지나도 호환성 유지해야 함 - 앱은 유저가 원할 때 업데이트 / 웹은 자동으로 항상 최신버전 사용하게 됨 - 유저층이 사용하는 버전 다양해 API에도 버전 개념 있음 ex) /api/v1/posts/, /api/v2/posts/ ( 요청 url에 지정 ) REST ( Representional State Transfer ) 아키텍처 스타일 프로토콜에 독립적 But, 일반적인 REST 구현에 HTTP 사용 RESTful API의 디자인 원칙 리소스(ex 장고 모..
dltjdn
devDiary