#author("2021-06-23T07:26:03+00:00","","")
#author("2021-06-23T07:29:10+00:00","","")
[[第2回/HelloSpringBoot]]

* HelloSpringBootでのRestAPIのチェック [#pcae316f]

- 時間が余ってる人向け

** Rest API とは? [#oad3013b]

- 講義でやってるはず
- この記事が分かりやすい
-- [[https://qiita.com/NagaokaKenichi/items/0647c30ef596cedf4bf2]]

* 実際にやってみる [#mff0eb68]

** ソースコードの追加 [#k7b52107]
- RESTControllerを新しく追加する
- src/main/java/jp/kobespiral/hello の中に,HelloRestControler.java を新規作成し,以下のコードを貼り付ける
  package jp.kobespiral.hello;
 
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/api")
 public class HelloRestController {
     @GetMapping("/{name}/hello")
     public String sayHelloGetMethod(@PathVariable String name) {
         return name + "さん、HTTP-GETはリソースを取得するときに用います";
     }
 
     @PostMapping("/{name}/hello")
     public String sayHelloPostMethod(@PathVariable String name) {
         return name + "さん、HTTP-POSTはリソースを追加するときに用います";
     }
 
     @PutMapping("/{name}/hello")
     public String sayHelloPutMethod(@PathVariable String name) {
         return name + "さん、HTTP-PUT はリソースを削除するときに用います";
     }
 
     @DeleteMapping("/{name}/hello")
     public String sayHelloDeleteMethod(@PathVariable String name) {
         return name + "さん、HTTP-DELETE はリソースを削除するときに用います";
     }
 
 }



** 実行 [#ue2cc70d]
- 今回のURLは、VSCode上でアプリを実行した場合を想定している。
- tomcatにデプロイしている場合、URLが変わることに注意すること
- 一例
-- VSCode: http://localhost:28280/api/manda/hello
-- tomcat: http://localhost:8080/demo/api/manda/hello
- ポート番号、その次のアプリ名などに注意

** postmanの使い方 [#oe986515]
- 環境設定でインストールしてるはず。
- 左上の「+New」をクリック、Requestを選択する
- nameは何でも、save to も適当なフォルダを作って保存しておく
- こんな画面が出てくる
- &attachref(./postman01.jpg,, 10%);

** 実際のアクセス方法 [#c6fc1122]
*** GET [#h3679095]
- 上のGETの横にURLを追加する
-- http://localhost:28280/api/manda/hello
- Sendを押すと、Rest API から得られたデータが返ってくる

- &ref(postman02.jpg,, 50%);

- 実際のソースコードを見てみると、sayHelloGetMethod()を実行して、その結果を得ていることが分かる

*** POST [#b5ed4960]
- 次は、GET以外のメソッドでアクセスしてみる
- GETと書かれたところをクリック、POSTを選択
- Sendを押すと、先とは異なる結果が返ってくる

- &ref(postman03.jpg,, 50%);

- 実際のソースコードを見てみると、sayHelloPostMethod()を実行して、その結果を得ていることが分かる

*** クエリパラム [#hdf69d0d]
- Query Params と書かれているところに記入
- 今回はしない

*** POSTメソッドにパラメータを持たせる [#t3ef0337]
- url下のBodyを選択
- 右のTextをJsonに変更
- Json形式で以下のテキストボックスに入力する
 {"name" : "manda", "age": 23}
- など。今回はしない

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS