@RestController
@RestController = @Controller @ResponseBody組成,等號右邊兩位同志簡單介紹兩句,就明白我們@RestController的意義了:
@Controller 將當前修飾的類別注入SpringBoot IOC容器,使得從該類別所在的項目跑起來的過程中,這個類別就被實例化。當然也有語義化的作用,即代表該類別是充當Controller的作用
@ResponseBody 它的作用簡短截說就是指該類別中所有的API介面返回的數據,甭管你對應的方法返回Map或其他Object,它會以Json字串的形式傳回給客戶端,本人嘗試了一下,如果回傳的是String類型,則仍然是String。
@RestController@RequestMapping("test")public class SampleController {
@GetMapping public Map testGet() {
return new HashMap
put("name", "springboot");
}};
##} @GetMapping(path = "str") ##} @GetMapping(path = "str") public String testGetStr() { return "OK"; }}這部分程式碼對Map回傳則是JSON String,而對String仍然是String當將@ RestController換成@Controller之後,對於/test的回傳值如下圖:從報錯可以看見,當@Controller修飾的時候,Spring以為會回傳一個View(也就是MVC中的那C)但是回傳的東西卻是一個Map。 ###以上是SpringBoot http中@RestController的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!