SpringBoot http請求注解@RestController原理解析
這篇文章主要介紹了SpringBoot http請求注解@RestController原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
@RestController
@RestController = @Controller + @ResponseBody組成,等號右邊兩位同志簡單介紹兩句,就明白我們@RestController的意義了:
@Controller 將當(dāng)前修飾的類注入SpringBoot IOC容器,使得從該類所在的項目跑起來的過程中,這個類就被實例化。當(dāng)然也有語義化的作用,即代表該類是充當(dāng)Controller的作用
@ResponseBody 它的作用簡短截說就是指該類中所有的API接口返回的數(shù)據(jù),甭管你對應(yīng)的方法返回Map或是其他Object,它會以Json字符串的形式返回給客戶端,本人嘗試了一下,如果返回的是String類型,則仍然是String。
@RestController
@RequestMapping("test")
public class SampleController {
@GetMapping
public Map testGet() {
return new HashMap<String, String>(){{
put("name", "springboot");
}};
}
@GetMapping(path = "str")
public String testGetStr() {
return "OK";
}
}
這部分代碼對于Map返回則是JSON String,對于String則仍然是String


當(dāng)將@RestController換成@Controller之后,對于/test的返回值如下圖:

從報錯可以看見,當(dāng)@Controller修飾的時候,Spring以為會返回一個View(也就是MVC中的那C)但是返回的東西卻是一個Map。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
myeclipse安裝Spring Tool Suite(STS)插件的方法步驟
這篇文章主要介紹了myeclipse安裝Spring Tool Suite(STS)插件的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
淺談Java數(shù)據(jù)結(jié)構(gòu)之稀疏數(shù)組知識總結(jié)
今天帶大家了解一下Java稀疏數(shù)組的相關(guān)知識,文中有非常詳細(xì)的介紹及代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決
原來win10電腦上安裝的是jdk8的版本,因某些原因,現(xiàn)在想換成jdk7的版本,修改環(huán)境變量后,在cmd中執(zhí)行 [java -version]命令,顯示的是7的版本,遇到這樣的問題如何解決呢?下面小編給大家分享IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決方案,一起看看吧2023-09-09
Spring Boot3整合Mybatis Plus的詳細(xì)過程(數(shù)據(jù)庫為MySQL)
這篇文章主要介紹了Spring Boot3整合Mybatis Plus的詳細(xì)過程(數(shù)據(jù)庫為MySQL),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07
解析Java的Spring框架的BeanPostProcessor發(fā)布處理器
這篇文章主要介紹了Java的Spring框架的BeanPostProcessor發(fā)布處理器,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12

