Django REST frameworkによるWebサービス開発(はじめてのPOST)

本レッスンのゴール
- POSTに対応した簡単なWebAPIを実装する。
GET, POSTとはHTTPのメソッドで、主な用途は以下の通りです。
- GET : (サーバー等から)情報を取得
- POST : (データベース等に)新規に情報を生成
前提条件
- Django REST frameworkによるWebサービス開発の足場作りが完了している事。
- アプリケーションベースが既に作成済みである事。
それぞれの手順は、以下をご参照ください。
全体の流れ
以下の流れで進めます。
- Viewの実装
- 動作確認
アクション
1. Viewの実装
こちらで実装したmyrestapi/views.pyに、以下のコードを実装します。
from rest_framework.views import APIView from rest_framework.decorators import api_view from rest_framework.response import Response from rest_framework import status class HelloWorld(APIView): """ クラスベースのAPIViewです。 """ def get(self, request, format=None): return Response({"message": "Hello World!!"}, status=status.HTTP_200_OK) def post(self, request, format=None): request_data = request.data return Response({"message": request_data["message"]}, status=status.HTTP_201_CREATED) @api_view(['GET', 'POST']) def hello_world(request): """ 関数ベースのAPIViewです。 """ if request.method == 'GET': return Response({"message": "Hello function base APIView GET!!"}, status=status.HTTP_200_OK) elif request.method == 'POST': if request.data: request_data = request.data return Response({"message": request_data["message"]}, status=status.HTTP_201_CREATED)
主な追加実装内容は、POSTでのアクセスに対応する処理と、レスポンスコードの指定です。
ここまでで、Viewの実装は完了です。
3. 動作確認
Terminalにて以下のコマンドでテスト用サーバーを起動します。
$ python manage.py runserver
ブラウザを起動し、http://127.0.0.1:8000/myrestapiにアクセスすると
以下のような画面が表示されます。
次に、Contentのテキストボックスに以下のように入力してPOSTボタンを押下します。
すると、以下のような画面が表示されるかと思います。
これで、関数ベースのAPIViewのPOSTの動作確認は完了です。
次に、クラスベースのAPIViewの動作確認を行います。
http://127.0.0.1:8000/myrestapi/helloにアクセスしてください。
Contentに以下のように入力してPOSTを押下します。
すると、以下のような画面が表示されるかと思います。
これで、クラスベースのAPIViewのPOSTの動作確認完了です。
以上で、POSTの動作確認は終了です。
コメントを残す