如果我們想要將 Spring Boot 程式中的某個方法,將他的返回值改成是以 JSON 格式來傳遞的話,那麼就需要兩個步驟:
@RestController
只要完成了這兩個步驟,就可以改成用 JSON 格式去返回數據給前端了!
如果我們回頭看一下之前所寫的程式,其實我們已經有在 MyController 中添加 @RestController
這個註解了:
所以其實到目前為止,我們已經完成了第一個步驟,也就是在 class 上添加 @RestController
了!
而當我們有在 class 上加上 @RestController
之後,那麼下一步,就是要將這個方法的返回值,改成是「Java 物件」。
舉例來說,假設我們有一個 Student class,他裡面有兩個變數:一個是 Integer 類型的變數 id、另一個是 String 類型的變數 name,並且在這個 class 中,也有實作這兩個變數各自的 getter()
和 setter()
方法。
public class Student {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
此時,如果我們改寫一下 MyController 中的 test()
方法,將他的返回值,改成是回傳 Student 類型的話:
@RequestMapping("/test")
public Student test() {
Student student = new Student();
student.setId(123);
student.setName("Judy");
return student;
}
那麼這個時候,當前端來請求 http://localhost:8080/test 時,Spring Boot 就會執行第 11~14 行的程式,最終去回傳一個 student 物件給前端。
而在 Spring Boot 在回傳 student 物件給前端時,Spring Boot 就會將這個 student 物件,先去轉換成 JSON 格式,最後才回傳給前端,因此前端最終所收到的結果,就會是 JSON 格式的數據了!