Django REST framework는 API endpoints를 만드는데 필요한 두 개의 helper classes를 제공한다.
APIView와 ViewSet이 그것이다. 여기서는 APIView를 다룬다.
1. APIView란?
2. Create APIView
3. Configure view URL
4. Test APIView
5. Create Serializer
6. Add POST method
7. Test POST
8. Add PUT, PATCH, DELETE methods
9. Test PUT, PATCH, DELETE
1. APIView란?
standard HTTP methods 에 맞는 functions을 정의할 수 있게 해준다. 간단한 db 조작을 넘어서 복잡한 조작을 해야 할 수록 더 유용해짐. 그런 예시들은 다음과 같다.
- Updating multiple data sources in one api call
- Rendering asynchronous response with validating files
- Calling other external apis or services in the same request
- Accessing local files or data"
2. Create APIView

- Response: API view를 호출하면 return 되는 standard response object. api가 호출될 때 json 형식으로 변환되기 때문에 json으로 변환될 수 있는 형식을 가져야 한다. 즉 list나dictionary를 넣어줘야 함.
- class HelloApiView(APIView): APIView를 상속하면 view에 할당한 endpoint(URL)를 위한 application logic을 정의할 수 있다. HTTP request가 오면 Django REST API는 request에 대응하는 적절한 함수를 HelloAPIView에서 찾아 호출한다.
- def get(self, request, format=None): get request에 대응할 함수. format parpam은 URL 끝에 format suffix를 추가하기 위해 사용되는데, 사용하지 않더라도 format=None이라고 명시해주는 것 Best practice이다.
3. Configure view URL


4. TEST API View

5. Create Serializer
(1) Serializer란?
data를 python objects로 바꾸거나 또는 그 반대로 하는 것을 쉽게 해주는 Django rest framework의 feature.
api로 post나 update 기능을 사용하고 싶을 때 serializer가 있어야 data를 제대로 받을 수 있겠지.
(2) Serializer 만들기
모든 serializer는 serializers라고 불리는 파일 하나에 정리하는 것이 좋다. 그래야 찾기가 쉽다.

6, 7. Add & TEST POST method

8, 9. Add & Test PUT, PATCH and DELETE methods
'BE > Python & Django REST API' 카테고리의 다른 글
| [Django REST API] 10. Create Profiles API (0) | 2021.12.22 |
|---|---|
| [Django REST API] 9. Introduction to Viewsets (0) | 2021.12.20 |
| [Django REST API] 7. Setup Django Admin (0) | 2021.12.18 |
| [Django REST API] 6. Setup the Database (0) | 2021.12.18 |
| [Django REST API] 5. Creating a Django app (0) | 2021.12.18 |
댓글