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コマンド用のメソッド作成。

このブログの人気の投稿

1月15日(木)1コマ目

10月30日(木)1コマ目

12月4日(木)1コマ目