저는 Django REST Framework 를 통해서 Restful API를 만들 때 View 단에서는 ModelViewSet을 주로 활용하고 있어요.

그냥 왠만한 것은 그냥 사용해도 되고, Custom이 필요할 때는 필요한 Method만 Override 해서 사용하면 좋더라구요.


예를 들어서 Get으로 들어오는 요청은 list 함수를 Override하면 되고 Post 요청은 create 함수를 Override 하면 됩니다.

함수를 호출하는 것은 Router에서 이뤄지기 때문에 어떤 Router를 사용하느냐에 따라 약간 달라질 수 있겠습니다. 


DRF Homepage에 보면 http://www.django-rest-framework.org/api-guide/routers/

Router에 대해 자세히 설명되어 있고 어떤 요청에 따라 어떤 함수가 호출되는지도 나와 있습니다. 


아래는 DRF Router 문서의 일부입니다. 


  http://www.django-rest-framework.org/api-guide/routers/


Get 요청도 어느 URL에 요청하느냐에 따라  list 또는 retrieve 함수로 연결됩니다.

그래서 저는 아직 다 외우지 못해서 필요에 따라 어떤 함수를 Override 할지 확인해야합니다. :)


아래는 list를 override 하는 예시입니다. 





+ Recent posts