Java + Spring bootでコントローラー備忘録(Laravelとの違いも交えて)
目次
Controller概要
ある程度の誤差はあると思うのですが、現在の理解でLaravelとSpring-Bootの違いをまとめてみました。
- RestController
- PHPにはRouterがある
@RestController public class HelloController { @RequestMapping("/{num}") public String index(@PathVariable int num){ int res = 0; for(int i = 1; i <= num;i++){ res += i; } return "total:" + res; } }
下記のコマンドでコントローラーが作成される
php artisan make:controller Controller名
Controller.php
<?php public function index($num){ $res = 0; for(i$i = 1; $i <= $num;$i++){ $res += i; } return "total: ".$res; } ?>
<?php Route::resource('/{num}','Controller'); ?>
@RestController
Restfull
@RequestMapping
- リクエストする際にしようするパスの指定
@PathVariable
- Path変数
- Pathについている変数を使用する
json形式で出力するRestfullなコントローラー
@RestController public class HelloController { String[] names = {"makoto","suzuki","nakazawa"}; String[] mails = {"k@gmail","y@gmail","a@gmail"}; @RequestMapping("/{id}") public DataObject index(@PathVariable int id){ return new DataObject(id,names[id],mails[id]); } } //jsonの項目となるデータを管理 class DataObject { private int id; private String name; private String value; : public int getId() { return id; } public void setId(int id) { this.id = id; } }
HTMLファイルを出力するコントローラー
- @RestController
- テキストデータ
- @Controller
- htmlファイルなど
@Controller public class TempleteController { @RequestMapping("/index1") public String index1(){ return "index1"; } }
- index.htmlファイルが存在する
まとめ
というイメージ