Dengan menggunakan ViewSet, Anda dapat menggabungkan logic untuk kumpulan view yang berhubungan dalam sebuah class.
Contoh, Anda tidak perlu membuat class ArticleList dan ArticleDetails, Anda cukup membuat satu class saja.
Pada modul ini kita akan bahas penggunaan generic viewset dan mixins.
Buka file backend/views.py, gunakan code berikut:
from .models import Article from .serializers import ArticleSerializer from rest_framework import viewsets, mixins class ArticleViewSet(viewsets.GenericViewSet, mixins.ListModelMixin, mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin): queryset = Article.objects.all() serializer_class = ArticleSerializer lookup_field = 'slug'
Kemudian buka file backend/urls.py, update seperti kode dibawah:
from django.urls import path, include from .views import ArticleViewSet from rest_framework.routers import DefaultRouter router = DefaultRouter() router.register('articles', ArticleViewSet, basename="articles") urlpatterns = [ path('', include(router.urls)) ]
Jika Anda buka melalui browser, sesuai ekspektasi, API berjalan dengan baik.