我對@RestController注解的理解
對@RestController注解的理解
在Spring中@RestController的作用
等同于@Controller + @ResponseBody。
所以想要理解@RestController注解
就要先了解@Controller和@ResponseBody注解
@Controller注解
在一個(gè)類上添加@Controller注解,表明了這個(gè)類是一個(gè)控制器類。
這里省略對Controller注解的說明了。
@ResponseBody注解
@ResponseBody表示方法的返回值直接以指定的格式寫入Http response body中,而不是解析為跳轉(zhuǎn)路徑。
格式的轉(zhuǎn)換是通過HttpMessageConverter中的方法實(shí)現(xiàn)的,因?yàn)樗且粋€(gè)接口,因此由其實(shí)現(xiàn)類完成轉(zhuǎn)換。
如果要求方法返回的是json格式數(shù)據(jù),而不是跳轉(zhuǎn)頁面,可以直接在類上標(biāo)注@RestController,而不用在每個(gè)方法中標(biāo)注@ResponseBody,簡化了開發(fā)過程。
@Controller和@RestController的區(qū)別:
@Controller:
- 在對應(yīng)的方法上,視圖解析器可以解析return 的jsp,html頁面,并且跳轉(zhuǎn)到相應(yīng)頁面
- 若返回json等內(nèi)容到頁面,則需要加@ResponseBody注解
@RestController:
- 相當(dāng)于@Controller+@ResponseBody兩個(gè)注解的結(jié)合
- 返回json數(shù)據(jù)不需要在方法前面加@ResponseBody注解了
- 但使用@RestController這個(gè)注解,就不能返回jsp,html頁面,視圖解析器無法解析jsp,html頁面
代碼示例
BuyerProductController
/** * 買家商品 * Created by 李柏霖 * 2020/10/17 20:11 */ package com.lbl.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/buyer/product") public class BuyerProductController { @GetMapping("/list") public void list(){ } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于FeignClient調(diào)用超時(shí)的處理方案
這篇文章主要介紹了基于FeignClient調(diào)用超時(shí)的處理方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07java8 集合 多字段 分組 統(tǒng)計(jì)個(gè)數(shù)代碼
這篇文章主要介紹了java8 集合 多字段 分組 統(tǒng)計(jì)個(gè)數(shù)代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08一種類似JAVA線程池的C++線程池實(shí)現(xiàn)方法
線程池(thread pool)是一種線程使用模式。線程過多或者頻繁創(chuàng)建和銷毀線程會(huì)帶來調(diào)度開銷,進(jìn)而影響緩存局部性和整體性能。這篇文章主要介紹了一種類似JAVA線程池的C++線程池實(shí)現(xiàn)方法,需要的朋友可以參考下2019-07-07SpringBoot2.0 整合 SpringSecurity 框架實(shí)現(xiàn)用戶權(quán)限安全管理方法
Spring Security是一個(gè)能夠?yàn)榛赟pring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。這篇文章主要介紹了SpringBoot2.0 整合 SpringSecurity 框架,實(shí)現(xiàn)用戶權(quán)限安全管理 ,需要的朋友可以參考下2019-07-07Java使用FastExcel實(shí)現(xiàn)合并單元格
FastExcel 是一個(gè)采用純 java 開發(fā)的 excel 文件讀寫組件,支持 Excel'97(-2003)(BIFF8)文件格式,本文主要介紹了如何使用FastExcel實(shí)現(xiàn)合并單元格,需要的可以參考下2024-12-12RSA加密的方式和解密方式實(shí)現(xiàn)方法(推薦)
下面小編就為大家?guī)硪黄猂SA加密的方式和解密方式實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06spring+apollo動(dòng)態(tài)獲取yaml格式的配置方式
這篇文章主要介紹了spring+apollo動(dòng)態(tài)獲取yaml格式的配置方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04