Start App-Dev from 35.

35からはじめるアプリ開発

  1. HOME
  2. 実践編
  3. Webアプリ開発
  4. Django REST framework
  5. Django REST frameworkによるWebサービス開発(はじめてのGET)

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

本レッスンのゴール

  • URLに応じて文字を返すGETメソッドを実装する。

GET, POSTとはHTTPのメソッドで、主な用途は以下の通りです。

  • GET : (サーバー等から)情報を取得
  • POST : (データベース等に)新規に情報を生成

前提条件

  • Django REST frameworkによるWebサービス開発の足場作りが完了している事。

手順は、以下をご参照下さい。

全体の流れ

以下の流れで進めます。

  1. アプリケーションベースの作成
  2. プロジェクトの設定
  3. Viewの実装
  4. ルーティングの実装
  5. 動作確認

Exercise

1. アプリケーションベースの作成

PyCharmを起動して、Django REST frameworkによるWebサービス開発の足場作りで作成した
プロジェクトのフォルダーを開き、以下のような画面を表示します。

次に、Terminalで、以下のコマンドを実行します、

$ cd myservice
$ python manage.py startapp myrestapi
myrestapiはアプリ名です。任意の名前を設定可能です。
以下の様に、myrestapiフォルダーとその下に関連ファイルが生成されていれば
アプリケーションベースの作成は完了です。

2. プロジェクトの設定

次に、myservice/settings.pyを開き、INSTALLED_APPSに、
これから作成するアプリケーションのエントリーを以下の様に追加します。

...
INSTALLED_APPS = [
    'myrestapi.apps.MyrestapiConfig',
    'rest_framework',
    ...
]
...

以上で、プロジェクトの設定は完了です。

3. Viewの実装

次に、Viewを実装します。Viewの実装には、クラスベースと関数ベースの2通りがあります。
両者のメリット、使い分け等詳しくは後々解説いたします。
今の時点では、Viewの実装にはこれら2つの方法があるという事を頭の片隅に置いておいてください。
今回はそれぞれの方法で実装してみます。
myrestapi/views.pyに以下のコードを実装してください。

rom rest_framework.views import APIView
from rest_framework.decorators import api_view
from rest_framework.response import Response


class HelloWorld(APIView):
    """
    クラスベースのAPIViewです。
    """
    def get(self, request, format=None):
        return Response({"message": "Hello Class base APIView!!"})


@api_view()
def hello_world(request):
    """
    関数ベースのAPIViewです。
    """
    print(request)
    return Response({"message": "Hello function base APIView!!"})

以上で、Viewの実装は完了です。

4. ルーティングの実装

次に、URLとViewを結びつけるために、ルーティングの実装を行います。
myrestapiフォルダー直下に、urls.pyファイルを作成し、以下のコードを実装してください。

from django.urls import path

from . import views

urlpatterns = [
    path('', views.hello_world, name='hello'),
    path('hello', views.HelloWorld.as_view(), name='test-get')
]

次に、上記ファイルの内容を読み込むため、myservice/urls.pyに以下のコードを実装してください。

...
from django.urls import path, include

urlpatterns = [
    path('myrestapi/', include('myrestapi.urls')),
    path('admin/', admin.site.urls),
]

以上で、ルーティングの実装は完了です。

5. 動作確認

Terminalにて以下のコマンドでテスト用サーバーを起動します。

$ python manage.py runserver

ブラウザを立ち上げ、http://127.0.0.1:8000/myrestapiにアクセスすると
以下のような画面が表示されるかと思います。

最後に、http://127.0.0.1:8000/myrestapi/helloにアクセスしてみてください。
次のような画面が表示されるかと思います。

以上で、本レッスンを終了します。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください