Spring BootでWeb APIを0から学ぼう!(GETでデータを取得)

spring restful

今回からは少しずつレベルが上っていきます。
丁寧に解説していきますのでしっかりと学んでいきましょう!
ちなみに、前回はパラメータで値を取得をおこないました。

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

より実践的な方法を学んでいきたいわ

どこから学んでいけば良いのかしら?

今回から、より実践的な内容を説明していきますね
順番に学んでいけば大丈夫ですから、
しっかりと手を動かしながら学んでいきましょう!

取得するためのデータを用意しよう!

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

まずは、取得するデータを用意します。

「User」というパッケージを作成して、そこにファイルを追加していきます。

パッケージの作成方法のご紹介しておきますね

 

もしも「Package Explorer」の表示が下記のようにならないようでしたら

 

下記のように設定を変更しておいてください。

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

そして下記のように選択してください。そうすると「Package Explorer」の表示がかわります。

上記のような設定のほうがわかりやすいと思います。

User.javaを作成しよう!

今回はユーザー情報を返すようにします。

簡単なBeanを作成します。フィールドは「id」「name」「birthDate」の3つです。

getter setter コンストラクタを忘れずに作成しておきましょう

 

Daoクラスを作成しよう!(UserDaoService.java)

Daoクラスは本来データベースにアクセスするクラスですが、今回はクラス内にデータを用意します。

下記のようにコードを書きます。

users変数に3つのデータを設定しています。

 

さらにデータを取得するためのメソッドを下記のように追加します。

findAll()はすべてのデータを取得します。

findOne(int id)は指定されたidのデータを取得します。

クラスの部分に@Componentが設定されていますが、

これはこのクラスをコンポーネントとして管理してくださいと宣言しています。

@Componentの記述がないとエラーになってしまいます。

わたしはよくこれではまりました。

@Comonentの記述がないとどんなエラーが表示されるかというと

Field service in com.webservice.user.UserResource required a bean of type ‘com.webservice.user.UserDaoService’ that could not be found.
上記のようなエラーが表示されます。

エラーの内容は、これから先に作成する「UserResource」から「UserDaoService」を呼び出したけど、見つけられませんよと書かれています。

コントローラクラスを作成します。(UserResorce.java)

では、下記のように「UserResorce.java」を作成します。

/users にアクセスするとユーザーのすべてのデータを取得します。

/users/1 にアクセスするとidが「1」のデータを取得します。

では実際にサーバーを起動してアクセスしてみましょう

ちゃんと表示されたでしょうか?

今回は以上になります。

次回はPOSTを解説しますね

コメント

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