歡迎來到從零開始學Spring Boot的旅程!在Spring Boot中,返回JSON數據是很常見的需求,特別是當我們構建RESTful API時。我們對上一篇的Hello World進行簡單的修改。 添加依賴 首先,確保你的build.gradle文件中已經包含了Spring Web的依賴,因為 ...
歡迎來到從零開始學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的輸出格式。
我是代碼匠心,和我一起學習更多精彩知識!!!掃描二維碼!關註我,實時獲取推送。