SpringBoot http請求注解@RestController原理解析
這篇文章主要介紹了SpringBoot http請求注解@RestController原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
@RestController
@RestController = @Controller + @ResponseBody組成,等號右邊兩位同志簡單介紹兩句,就明白我們@RestController的意義了:
@Controller 將當(dāng)前修飾的類注入SpringBoot IOC容器,使得從該類所在的項(xiàng)目跑起來的過程中,這個類就被實(shí)例化。當(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í)有所幫助,也希望大家多多支持腳本之家。
- spring?boot常見get?、post請求參數(shù)處理、參數(shù)注解校驗(yàn)、參數(shù)自定義注解校驗(yàn)問題解析
- SpringBoot使用AOP與注解實(shí)現(xiàn)請求參數(shù)自動填充流程詳解
- SpringBoot請求處理之常用參數(shù)注解介紹與源碼分析
- SpringBoot請求參數(shù)相關(guān)注解說明小結(jié)
- SpringBoot常見get/post請求參數(shù)處理、參數(shù)注解校驗(yàn)及參數(shù)自定義注解校驗(yàn)詳解
- SpringBoot 攔截器和自定義注解判斷請求是否合法
- spring boot接收請求常用注解示例詳解
相關(guān)文章
淺談Mybatis Plus的BaseMapper的方法是如何注入的
我們在用的時候經(jīng)常就是生產(chǎn)自定義的Mapper繼承自BaseMapper,那么BaseMapper怎么被注入到mybatis里的,本文就詳細(xì)的介紹一下,感興趣的可以了解一下2021-09-09SpringIOC容器Bean的作用域及生命周期實(shí)例
這篇文章主要為大家介紹了SpringIOC容器Bean的作用域及生命周期實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05java static塊和構(gòu)造函數(shù)的實(shí)例詳解
這篇文章主要介紹了java static塊和構(gòu)造函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握J(rèn)ava static關(guān)鍵字的函數(shù)方法,需要的朋友可以參考下2017-09-09Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法
這篇文章主要介紹了Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法的相關(guān)資料,今天使用Eclipse 時出現(xiàn)以上錯誤,本文說明如何更更正,需要的朋友可以參考下2016-11-11Java Swing最詳細(xì)基礎(chǔ)知識總結(jié)
這篇文章主要介紹了Java Swing最詳細(xì)基礎(chǔ)知識總結(jié),文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)Java Swing的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05