iT邦幫忙

2023 iThome 鐵人賽

DAY 16
1
Software Development

Spring Boot 零基礎入門系列 第 16

Spring Boot 零基礎入門 (17) - 返回值改成 JSON 格式 - @RestController

  • 分享至 

  • xImage
  •  

如何將 Spring Boot 的返回值轉換成 JSON 格式?


如果我們想要將 Spring Boot 程式中的某個方法,將他的返回值改成是以 JSON 格式來傳遞的話,那麼就需要兩個步驟:

  1. 在該 class 上面加上 @RestController
  2. 將該方法的返回值,改成是「Java 中的物件」

只要完成了這兩個步驟,就可以改成用 JSON 格式去返回數據給前端了!

步驟一:在 class 上面加上 @RestController

如果我們回頭看一下之前所寫的程式,其實我們已經有在 MyController 中添加 @RestController 這個註解了:

17-3.png

所以其實到目前為止,我們已經完成了第一個步驟,也就是在 class 上添加 @RestController 了!

步驟二:將該方法的返回值,改成是「Java 物件」

而當我們有在 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 格式的數據了!

17-6.png


上一篇
Spring Boot 零基礎入門 (16) - 結構化的呈現數據 - JSON 格式介紹
下一篇
Spring Boot 零基礎入門 (18) - 常見的 Http method - GET 和 POST
系列文
Spring Boot 零基礎入門29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言