아래와 같이 view를 처리하면 title 값이 주어지지 않았으므로 serializer.is_valid는 실패하고 “invalid nott= good data” 가 json 형식으로 사용자에게 되돌려 진다.(Response는 rest_framework의 Response함수임) 그러나
아래와 같이 raise_exception = True를 하면 좀더 자세한 왜 에러가 발생했는지 json 형태로 사용자에게 알려 준다.
.
.
Generic RetrieveAPIView
view를 만든 모습 굉장히 간단하다. 숨겨진 부분이 많다.
as_view()를 사용하거나 아래 아래와 같이 view 파일에서 변수안에 함수로 저장한 다음 그걸 import하고 그걸 url에서 사용해도 된다.
아래는 테스트 request를 하는 코드이다.
.
.
generic CreateAPIView
while executing generic CreateAPIView , we can do more jobs. this is like webhook
.
.
generic ListAPIView 를 통해서 아이템 리스트를 보여주는 view를 만들수 있다.
그러나 ListCreateAPIView와 결과적으로 기능이 같다. 설명해주는 사람은 ListCreateAPIView를 사용한다고 한다.
.
.
위에서 generic views들로 작업한 것을 일반 함수형태로 재구성한 방법
아래는 retrieve, list를 재현한것
아래는 create를 재현한것이다.
.
.
generic UpdateAPIView, DestroyAPIView 사용
기본적으로 RetrieveAPIView와 유사하다.
아래는 RetrieveAPIView의 사용 예시. 기본적으로 lookup_field 는 pk 이다. 이를 기준으로 작동한다. 변경을 위하면 다른 field로 지정해 주면 된다.