Spring BootでREST APIを0から学ぼう!(POSTを使ってみる)

spring restful

前回はGETに関して解説しました。

今回はPOSTに関して解説していきますね

Spring restful サービスを、実際にプロジェクトを作成するところから記録していきます。 細かく記録してますので、新たにspring restfulを学ぼうとしている方には、きっと参考になると思います。 ところどころでエラーがでた場合も、それも含めて記録してあります。 新たにspring restfulを学ぼうとしている方の役に立てられたら幸いです。

 

データを登録するにはどうやってやったらいいの?

実際にデータが登録できたかどうやって確認したらいいの?

このような方が、しっかりと理解できるように

詳しく解説していきますね

開発環境は以下のようになっています。
OS: Mac
IDE: STS→ダウンロード先はこちら
Java: java8
spring boot: 2.1.3.RELEASE

 

前回までの復習をしておこう!

簡単に前回までのコードを見直しておきましょう。

下記の画像の3つのファイルに関してです。

ユーザーに関してのBeanクラスです。

今回、POSTを実行するにあたりバージョンの関係で前回までのコードでエラーが出るケースがありました。

そのため一部コードを追加してます。

追加したコードはデフォルコンストラクタです。

バージョンの違いによるものなのかはっきりしませんが、

デフォルトコンストラクタは設定しておいたほうが無難です。

下記のコードがデフォルトコンストラクタを追加したコードです。

そしてサービスクラスを確認しましょう。

ユーザ情報を持ち、データを取得するメソッドがあります。下記の2つのメソッドが設定されています。

  • findAll()
  • findOne(int id)

上記の2つのメソッド以外に、一つメソッドを追加しました。

Userクラスを引数にもち、idが設定されてなければusersCountに+1された値をidとして設定し、引数のuserをusersに設定し返すコードです。

本来この部分はデータベースでの挙動になりますが、今回は簡易的にこのようにしています。

上記を追加したコードが以下です。

こんどはコントローラクラスです。

設定されたすべての情報を取得する「retreveAllUsers( )」

指定のidで対象のデータを取得する「retreveUser( )」がありました。

上記の2つのメソッド以外に、以下のコードを追加しました。

上記の@RequestBodyを設定することにより、POSTリクエストを送る際にリクエストボディに含まれたデータを、コントローラで取得できるようになります。

ちょっと言葉での説明では分かりづらいですね

後ほど実際にやってみますね

実際にやってみたほうが理解が深まります。

以下に追加したコードも合わせて載せておきます。

コードの追加が終わったらサーバーを動かしてエラーが

発生しないか確認しておきましょう!

プロジェクト右クリック>Run AS>Spring Boot App

 

Postmanをインストールして環境を整えよう!

では実際にPOSTリクエストを送信するために「Postman」というサービスをダウンロードします。

Postmanダウンロード先はこちら

下記の画像のボタンからダウンロードしておいてください。

インストールしアカウントの設定が終わって、開くと下記の画像のような画面になると思います。

矢印の部分をクリックします。

下記のような画面になれば準備は完了です。

 

実際にPOSTしてみよう!

まずはちゃんとサーバが起動していることが前提です。

ちゃんとサーバーが起動していることを確認しましょう!

まずは下記の画像のようにブラウザでGETしてデータが取得できることを確認します。

確認できたらこんどは「Postman」を使ってやってみます。

ではPostmanの画面での作業です。

下記のように「GET」「http://localhost:8080/users」を設定して「Send」ボタンを押してください。

すると画像のようにデータが取得できていることを確認してください

上記の画像にはデータが4つ表示されていますが、これは間違です。

実際は3つのデータが表示されるはずです。

申し訳ありません。

気を取り直して、いよいよPOSTリクエストをやってみましょう!

 

準備として先ほど表示されたデータの一つをコピーしておきます。

どのデータでも構いませんが、今回はidが「1」のデータをコピーしました。

 

 

コピーしたデータを下記のように編集します。

idの部分を削除して名前を変更しています。

これをPostmanに設定していきます。

設定方法は下記の画像を参考にしてください。

ポイントは3つ

  • POSTにすること
  • Body>rawを選択するとデータを入力できるような画面がひらきます。
  • JSONを選択すること

設定が終わったら「Send」ボタンをクリックします。

すると画面右下に下記のように「200 OK」の表示がされます。

これでデータが登録されたはずです。

確認してみましょう!

下記の画像のように「POST」→「GET」に切り替えます。

そして「Send」ボタンをクリックします。

すると一覧が表示される中に今POSTリクエストしたデータが含まれているのが確認できると思います。

データが表示されない場合は「Body」を選択してみてください。

上記のように、POSTリクエストのボディにデータを設定しデータを送信すると、ちゃんと登録されたことが確認できました。

うまくいったでしょうか?

今回は以上になります。

次回は例外処理に関して学んでいきましょう!

コメント

タイトルとURLをコピーしました