RestControllerはビューを使わずコントローラーだけでアプリの基本部分を作成できる
package com.example.demo; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Hello Spring-Boot World!"; } }
http://localhost:8080/
Hello Spring-Boot World!
### パラメータを渡す
package com.example.demo; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @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; } }
http://localhost:8080/5
total: 15
おおお、一周回って基礎やると理解しやすいな。
### DataObject
package com.example.demo; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { String[] names = {"hpscript","hanako","taro","sachiko","ichiro"}; String[] mails = {"info@hpscript.com", "hanako@gmail.com", "taro@gmail.com","sachiko@gmail.com","ichiro@gmail.com"}; @RequestMapping("/{id}") public DataObject index(@PathVariable int id) { return new DataObject(id, names[id],mails[id]); } } class DataObject{ private int id; private String name; private String value; public DataObject(int id, String name, String value) { super(); this.id = id; this.name = name; this.value = value; } public int getId() {return id;} public void setId(int id) {this.id = id;} public String getName() {return name;} public void setName(String name) {this.name = name;} public String getValue() {return value;} public void setValue(String value) {this.value = value;} }
http://localhost:8080/2
{“id”:2,”name”:”taro”,”value”:”taro@gmail.com”}
http://localhost:8080/0
{“id”:0,”name”:”hpscript”,”value”:”info@hpscript.com”}
おおお、なんか変に感傷的になるな〜