2022年3月1日こんにちは、MSKです。APIを作成した時にAPIをコールしてテストを行うと思います。そのテストの際に使える方法について紹介したいと思います。Frameworkを使って作ります。Frameworkについては以下の記事を参考にしてください。Frameworkを使ってみよう!最近はバックエンドとフロントエンドを別々に開発することが主流になっています。Frameworkです。今回使ってみたので、紹介します。Frameworkをインストールします。djangorestframeworkプロジェクトを作成し、その中にapiアプリを作成します。apiapiアプリの中にurls.pyとserializers.pyいう名前でファイルを作成しておきます。settings.pyにアプリとrestframework、今回は認証関係も使いたいのでrest_framework.authtokenを登録します。TIME_ZONEもAsia/Tokyoに変更しておきます。'Asia/Tokyo'モデル作成とマイグレーションapiフォルダの中のmodels.pyを以下のようにします。self.titleマイグレーションを行います。migrate管理画面から扱えるように登録をしておきます。ProductModeladmin.site.register(ProductModel)管理画面に入るためにスーパーユーザーを作っておきます。createsuperuserここで一度動作確認をしておきます。内部のサーバーを立ち上げます。runserverhttp://127.0.0.1:8000/adminにアクセスして、先ほど作ったスーパーユーザーでログインします。ProductModelの項目でデータを作成・削除できればOKです。API作成シリアライザーを作成します。apiフォルダ内のserializers.pyに次のように記述します。'updated_at']次にview.pyを準備します。(IsAuthenticated,)今回はrest_frameworkのTokenAuthenticationを使って、トークンの生成を行っています。認証をしなければ、全てのリクエストを許可しないようにしています。web_appのurls.pyを次のように変更しておきます。トークンを生成するために、auth/にobtain_auth_tokenを設定しています。path('auth/',obtain_auth_token),]次にapiフォルダのurls.pyを次のように変更して、アクセス先を定義しています。path('',include(router.urls))]機能が一通りできましたので、runserverします。Clientを使ってアクセスを行います。CURLを使うCURLがインスールされていることを確認します。バージョンが返されたらインストールされています。-VCURLを使う場合、次のような形になります。(URL)オプションは複数指定することができます。今回使うのは以下です。使用するHTTPメソッドを指定します。HTTPヘッダに追加します。POSTするデータを追加します。トークンを取得するスーパーユーザーでトークンを取得します。http://127.0.0.1:8000/auth/トークンを取得するにはPOSTを使います。スーパーユーザー名とパスワードを渡しています。GETしてみるまずはGETしてみます。今回は認証を行わないとリクエストは許可されないので、Authorizationをヘッダに含めます。http://127.0.0.1:8000/api/管理者ページで作成したデータを取得することができたと思います。POSTしてみる次にデータをPOSTしてみます。やり方はトークン取得と同じです。http://127.0.0.1:8000/api/再度GETしてみるとPOSTしたデータを取得することができると思います。PUTしてみる上でPOSTしたデータを更新してみます。http://127.0.0.1:8000/api/2/DELETEしてみる上で更新したデータを削除します。削除するときのメソッドはDELETEです。http://127.0.0.1:8000/api/2/POSTMANを使うインストールこのページからダウンロードします。Appからダウンロードを行います。macであればダウンロードしたzipファイルを解凍して、Postmanをアプリケーションフォルダにいれます。Postmanを起動すると登録を求められますので、登録します。request」を選択して、APIを叩く準備をします。GETしてみる左上からメソッドを選択します。今回はGETを選択します。その右側のテキストボックスにURLを記入します。その下の項目からHeadersを選択します。KEYにAuthorizationを、VALUEにトークンを入力します。入力が終わったら、Sendを押すとアプリ画面下にGETされた内容が表示されます。POSTしてみる次にPOSTを行います。メソッドをPOSTにします。Headersはそのままにして、Bodyを選択します。KEYにtitleとpriceを、VALUEにそれぞれに設定する値を入力します。入力が終わったら、Sendを押します。POSTした内容がアプリ画面下に表示されます。PUTしてみるメソッドをPUTにします。URLの最後に更新するidを追記します。(上のPOSTした内容を変えたいのでこの場合はhttp://127.0.0.1:8000/api/5/)Bodyに更新する内容を入力します。入力が終わったら、Sendを押します。DELETEしてみるメソッドをDELETEを選択します。URLには削除するidを最後に追加します。Sendを押すと削除が実行されます。Client」と検索すると次の拡張機能が出てくると思いますので、インストールします。test.httpというファイルを作ります。GETしてみるGETは次のように行います。トークンPOSTしてみるPOSTは次のように行います。トークンtitle=tea&amp;price=120PUTしてみるPUTは次のように行います。トークンtitle=tea&amp;price=150DELETEしてみる最後にDELETEを行います。APIにアクセスを行うことができるツールを紹介しました。Clientが好きで使っていますが、仕事などではCURLやPostmanを使うことが多いように思えます。最後までご覧いただき、ありがとうございました。APIへのアクセスをいろんな方法で試してみよう」でした。MEMSK九州在住の組み込み系エンジニアです。2児の父親でもあります。数学やプログラミングが趣味です。最近RustとReact、結び目理論と曲面結び目理論にはまっています。素数っていくつあるの?LaravelとCoreserverでLineボットを使ってみよう!組み込み系エンジニアMSKソフトウェア関連の技術が好きな30代男性です。最近は、Webアプリ開発にチャレンジ中。