10月9日(木)1コマ目
今日、やったこと
REST APIサンプルアプリケーション作成(GETコマンド)
今日のホワイトボード
リクエストのURLとサーバー側のクラス、メソッド
.NetのMVCはリクエストのURLのパスから、対応するコントローラクラス、アクションメソッドが決まる。
JavaのSpring Bootでは、アノテーション(@xxxx)を使って、パスとクラス、メソッドを紐づける。
パスとクラスの紐づけ
パスとクラスの紐づけは、クラスに@RequestMapping()アノテーションを付与。
![]() |
| 図 @RequestMapping()でパスとクラスを紐づけ |
GETコマンドリクエストに対応するメソッド
GETコマンドを処理するメソッドには、@GetMapping()アノテーションを付与。
さらに、@GetMapping()アノテーションの引数でパスと紐づけ。
下図のように、パス”/api/book”に対応するメソッドには
@GetMapping("/book")
を付与。
![]() |
| 図 @GetMapping()でGETコマンドと処理メソッドを紐づけ |
パスパラメータ付きGETコマンドリクエストに対応するメソッド
パスパラメータ付きのリクエストを処理するメソッドには、@GetMapping()アノテーションの引数に、{引数名}でパスパラメータと引数を紐づけ。
なお、引数には@PathVariableアノテーションが必要。
下図のように、パス"/api/book/4"のようにパスパラメータ4を含むリクエストを処理するメソッドには
@GetMapping("/book/{id}")
を付与することで、パスパラメータ4は引数idに渡される。
引数idには@PathValiableを付与。
![]() |
| 図 パスパラメータとメソッドの引数を紐づけ |
クエリパラメータ付きGETコマンドリクエストに対応するメソッド
クエリパラメータの値を代入する引数に@RequestParam()アノテーションを付与。
@RequestParam()アノテーションにはクエリパラメータ名を指定すること。
![]() |
| 図 クエリパラメータと引数を紐づけ |
ソースコードをあげておきます。
[データトランスファ]dto.Book.java
書籍情報を受け渡すためのクラス。
[データアクセス]dao.BookDAO.java
書籍情報を検索、登録、変更、削除する機能を持つクラス。
[コントローラ]controller.Controller.java
クライアントからのリクエストを受け付け、処理を行い、結果を返すメソッドを持つクラス。
次回は
HTTPのPOST、PUT、DELETEコマンド用のメソッド作成。



