View on GitHub

映画ビューの作成

Home

映画ビューの作成

ビューの作成

src/backend/api/online/views.py

from django.shortcuts import get_object_or_404  # <- 追加

from rest_framework.views import APIView
......
class MovieView(APIView):
    """映画ビュー"""
    permission_classes = (AllowAny,)

    def get(self, request, movie_id, format=None):
        """
        映画オブジェクトを取得する。

        Attributes
        ----------
        movie_id : int
            映画ID

        Responses
        ---------
        movie : json
            映画オブジェクト
        """
        # オブジェクトの取得
        movie = get_object_or_404(
            Movie.objects.prefetch_related('movie_genres__genre'),
            pk=movie_id,
        )

        # レスポンス
        data = {
            'movie': MovieMapper(movie).as_dict() if movie else None,
        }

        return Response(data, status.HTTP_200_OK)

URL のマッピング

src/backend/api/online/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('movies/', views.MoviesView.as_view()),
    path('movies/<int:movie_id>/', views.MovieView.as_view()),  # <- 追加
]

ブラウザで下記 URL にアクセスしてください。

映画 ID 1 の映画データが表示されます。