歡迎來到從零開始學Spring Boot的旅程!在Spring Boot中,返回JSON資料是很常見的需求,特別是當我們構建RESTful API時。我們對上一篇的Hello World進行簡單的修改。
-
新增依賴
首先,確保你的build.gradle檔案中已經包含了Spring Web的依賴,因為返回JSON資料通常與Web請求和響應有關。Spring Boot的starter-web已經包含了所有必要的依賴,所以如果你使用Spring Initializr建立的專案,這一步應該已經完成了。
-
建立資料模型
接下來,我們需要一個資料模型來表示我們要返回的JSON資料。先建立一個model的package來存放java類,建立一個User的Java類來表示這個模型。package cn.daimajiangxin.springboot.learning.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.extern.slf4j.Slf4j; @Data @Slf4j @AllArgsConstructor public class User { private String name; private int age; }
-
建立控制器
建立一個控制器來處理HTTP請求並返回JSON資料。使用@RestController和@RequestMapping註解來標記這個類,這樣Spring Boot就會自動將返回的物件轉換為JSON格式。@RequestMapping註解對請求處理類中的請求處理方法進行標註,@GetMapping註解用於處理HTTP GET請求,並將請求對映到具體的處理方法中。package cn.daimajiangxin.springboot.learning.controller; import cn.daimajiangxin.springboot.learning.model.User; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/user") public class UserController { @GetMapping("/getUser") public User getUser() { // 建立一個User物件 User user = new User("Alice", 30); return user; // Spring Boot會自動將User物件轉換為JSON格式 } }
-
執行應用程式
啟動你的Spring Boot應用程式。如果一切順利,當你訪問http://localhost:8080/user/getUser時,你應該能看到如下的JSON響應:
-
自定義JSON輸出
有時,你可能需要自定義JSON的輸出格式或者包含額外的資訊。你可以使用@JsonInclude、@JsonProperty等註解來控制Jackson庫(Spring Boot預設的JSON處理庫)的序列化行為。例如,你可以使用@JsonInclude(JsonInclude.Include.NON_NULL)來避免輸出null值,或者使用@JsonProperty來重新命名JSON欄位。import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.extern.slf4j.Slf4j; @Data @Slf4j @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public class User { @JsonProperty("username") private String name; private int age; }
這樣,返回的JSON資料就會將name欄位重新命名為username,並且不會包含null值。
-
總結
在Spring Boot中返回JSON資料是一個簡單而直接的過程。透過使用@RestController註解和建立適當的資料模型,你可以很容易地構建RESTful API並返回格式化的JSON響應。記住,你可以使用Jackson庫的註解來進一步定製JSON的輸出格式。
我是程式碼匠心,和我一起學習更多精彩知識!!!掃描二維碼!關注我,實時獲取推送。
源文來自:https://daimajiangxin.cn