首頁  >  文章  >  Java  >  SpringBoot http中@RestController的作用是什麼

SpringBoot http中@RestController的作用是什麼

王林
王林轉載
2023-05-20 15:31:06815瀏覽

@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中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除