DRF를 공부하기 전 API에 공부할 필요가 있다.
DRF는 Django REST Framework는 Django를 이용해서 API를 구축하는 기능을 제공하는 라이브러리이다.
그러면 API는 무엇일까??
API
API는 Application Progrmming Interface이다. 즉 소프트웨어끼리 프로그래밍 언어를 통해 통신하는 방법이다.
우리는 이제 RESTful API를 통해 Json형식으로 서버와 클라이언트와 소통할 것이다.
REST는 사람들 마다 정의가 다 다른데 나는 유저가 보낸 보청에 따라 보여주는 방식?? 이 부분은 따로 더 공부를 해보고 찾아봐야겠다.
https://ics.uci.edu/~fielding/pubs/dissertation/top.htm RESR논문
규칙도 존제하는데 RESTful API는 작성한 결과를 보지 안고 Request만 보더라고 추론이 가능하다.
핵심 규칙
자원 : URI로 표현
행위 : HTTP Method로 표현
표현
자원과 행위를 통해 표현되는 결과물로 일반적으로 JSON 형식을 사용
URI는 동사가 아닌 명사의 나열로 사용
Method는 POST, GET, PUT, DELETE + PATCH로 CRUD가 가능하다.
Json
JavaScript Object Notation으로 JS 표기법으로 데이터를 담는 형식이다. dict처럼 key-value 형식으로 되었다.
Serializtion
직렬혀 방식으로 데이터를 저장하고 전송하기위해 변경해서 작성을 하는데 우리는 이것을 DRF를 이용해서 사용할 것이다.
DRF 설치
pip install djangorestframework
설치를 하면 언제나
pip freeze > requirements.txt
그리고 settings.py에 apps에 등록을 해주자
INSTALLED_APPS = [
'rest_framework',
Serializers.py 생성
우리는 이제 serializers.py를 통해 데이터를 불러와 사용을 할 것이다.
models.py에 있는 model class 를 불러와 사용하자
class serializers name(serializers.ModelSerializer):
class Meta:
model = model class
fields = "__all__"
model과 사용 법이 비슷하여 습득하기 매우 쉽다.
그리고 veiws.py에서는 꼭 함수형이면 데코레이터 api_view를 작성해 줘야 작동된다.
from rest_framework.decorators import api_view
@api_view(["GET"])
def
return에서는
from rest_framework.response import Response
return Response(serializer.data)
Response를 사용 한다.
마무리
전에 기초에서 했던 내용에 비하면 조금 쉬운 느낌이지만 아직 나의 손이 적응을 못했다. 여러 번 반복을 통해 나의 것으로 만들어 나가는 과정이 필요할 거 같다.