今回学んだこと
REST API の参照、登録、更新、削除をSpring BootでコーディングしARC(Advancerd REST Client)を用いて確認した。
1,REST API GET(参照)
- Controllerクラス
- リクエストの入り口で、複雑な処理は基本書かない
- Serviceクラス
- 業務処理のもととなる箇所、ビジネスロジック(3層アーキテクチャの一番大事な処理)はサービスクラスに実装する
@GetMapping("/url/{所得したいもの})
public ~ (@PathVariable("所得したいもの")String 所得したいもの){
return サービスのGETを返す;
}
重要なアノテーション
@RestController・・・コントローラークラスとして定義する。メソッドの戻り値が、レスポンスの戻り値となる
@GettMapping・・・Getリクエスト用のアノテーションvalue属性にURLのパスを指定する紐図いているメソッドが実行される
@Autowired・・・@Serivceクラスで設定したサービスを@RestControllerで簡単に呼び出せる
@PathVariable・・・特定の商品番号情報を所得するといったケースで、動的にURLに値を指定する使用を実装する。
2,REST API POST(参照)
@PostMappingでAPIのURLを指定して@RequestBodyアノテーションでjson形式で受け取ることを指定する
@PostMapping("/url")
public void ~ (@RequestBody serviceで所得するものを呼び出す){
サービスのaddを返す;
}
3,REST API PUT(更新)
@PutMappingでURLを指定して@RequestBodyでjson形式を受け取る、その後、@PathVariableで指定された更新キーを取得する。
@PostMapping("/url/{所得したいもの}")
public void ~ (@RequestBody serviceで所得するものを呼び出す, @PathVariable("所得したいもの")String 所得したいもの){
サービスのidとアイテムを返す;
}
4,REST API DELETE(削除)
@DeleteMappingでURLを指定して@PathVariableで指定された削除キーを取得する
@DeleteMapping("/url/{所得したいもの}")
public void ~ (@RequestBody serviceで所得するものを呼び出す, @PathVariable("所得したいもの")String 所得したいもの){
サービスのidとアイテムを返す;
}
5,まとめ
Spring Bootを使って基本的なREST APIの設計を行なった、Spring Bootではどのアノテーションがどんな働きを持っていることが重要であり、パッケージを分けることによってそれぞれのプログラムがどんな役割でどのような働きをしているかをわかりやすく設計することが大切であることを学んだ。