国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring MVC中@Controller和@RestController的區(qū)別

這篇具有很好參考價(jià)值的文章主要介紹了Spring MVC中@Controller和@RestController的區(qū)別。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

@Controller@RestController 是 Spring MVC 中用于處理 HTTP 請(qǐng)求的注解,它們有以下區(qū)別:

  1. 返回值處理方式:

    • @Controller 用于定義一個(gè)傳統(tǒng)的 Spring MVC 控制器,它的方法通常返回視圖名稱或 ModelAndView 對(duì)象,由視圖解析器解析并渲染成 HTML 頁(yè)面。

      @Controller
      public class MyController {
      
          @GetMapping("/hello")
          public String hello() {
              return "helloPage"; // 返回視圖名稱
          }
      }
      
    • @RestController 組合了 @Controller@ResponseBody,用于定義 RESTful 風(fēng)格的控制器。其方法的返回值會(huì)直接寫入 HTTP 響應(yīng)體,而不是通過(guò)視圖解析器解析為視圖。

      @RestController
      public class MyRestController {
      
          @GetMapping("/api/hello")
          public String hello() {
              return "Hello, REST API!"; // 直接寫入響應(yīng)體
          }
      }
      
  2. 默認(rèn)響應(yīng)類型:

    • @Controller 默認(rèn)返回視圖,通常使用 ViewResolver 將邏輯視圖名映射為實(shí)際視圖。
    • @RestController 默認(rèn)返回 JSON 或 XML 格式的數(shù)據(jù),而不是視圖。
  3. 使用場(chǎng)景:

    • 使用 @Controller 時(shí),通常用于構(gòu)建傳統(tǒng)的 Web 應(yīng)用,其中頁(yè)面渲染由視圖模板(如 JSP、Thymeleaf)處理。
    • 使用 @RestController 時(shí),適用于構(gòu)建 RESTful API,其中數(shù)據(jù)以 JSON 或 XML 格式返回給客戶端。

實(shí)際例子:

@Controller
public class WebPageController {

    @GetMapping("/helloPage")
    public String helloPage() {
        return "helloPage"; // 返回視圖名稱,通常由視圖解析器解析為實(shí)際視圖
    }
}
@RestController
public class ApiController {

    @GetMapping("/api/hello")
    public String helloApi() {
        return "Hello, REST API!"; // 直接返回字符串,將以 JSON 或 XML 格式寫入響應(yīng)體
    }
}

在構(gòu)建 Web 頁(yè)面的場(chǎng)景中,使用 @Controller 處理用戶請(qǐng)求,返回視圖名稱,然后由視圖解析器解析為實(shí)際視圖。而在構(gòu)建 RESTful API 的場(chǎng)景中,使用 @RestController 直接返回?cái)?shù)據(jù),通常以 JSON 或 XML 格式。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-796207.html

到了這里,關(guān)于Spring MVC中@Controller和@RestController的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring MVC學(xué)習(xí)隨筆-控制器(Controller)開發(fā)詳解:控制器跳轉(zhuǎn)與作用域(一)

    Spring MVC學(xué)習(xí)隨筆-控制器(Controller)開發(fā)詳解:控制器跳轉(zhuǎn)與作用域(一)

    學(xué)習(xí)視頻:孫哥說(shuō)SpringMVC:結(jié)合Thymeleaf,重塑你的MVC世界?。八从械腤eb開發(fā)探索之旅 3.流程跳轉(zhuǎn) 在web.xml里添加Servlet然后執(zhí)行 可以看到通過(guò)url拼接可以獲取傳遞的數(shù)據(jù) 四種跳轉(zhuǎn)指的是:在SpringMVC中控制器與JSP或者控制器與控制器之間的跳轉(zhuǎn)。 Controller - - forward — JSP Co

    2024年02月05日
    瀏覽(59)
  • Spring,SpringBoot,Spring MVC的區(qū)別是什么

    Spring,SpringBoot,Spring MVC的區(qū)別是什么

    我們通常所說(shuō)的 Spring 指的是 Spring Framework(Spring 框架),它是?個(gè)開源框架,有著活躍?龐?的社區(qū),這就是它之所以能?久不衰的原因。Spring ?持?泛的應(yīng)?場(chǎng)景,它可以讓 Java 企業(yè)級(jí)的應(yīng)?程序開發(fā)起來(lái)更簡(jiǎn)單。 ??句話概括 Spring: Spring 是包含了眾多?具?法的 I

    2024年02月15日
    瀏覽(21)
  • SpringBoot整理-Spring Boot與Spring MVC的區(qū)別

    Spring?Boot?和?Spring?MVC?是?Spring?框架的兩個(gè)不同部分,它們?cè)?Java?Web?開發(fā)中扮演著各自獨(dú)特的角色。理解它們之間的區(qū)別有助于更好地利用?Spring?生態(tài)系統(tǒng)進(jìn)行有效的應(yīng)用開發(fā)。 Spring?MVC 定義:? Spring?MVC?是基于?Model-View-Controller(模型-視圖-控制器)設(shè)計(jì)模式的一個(gè)?

    2024年01月22日
    瀏覽(30)
  • Spring MVC學(xué)習(xí)隨筆-控制器(Controller)開發(fā)詳解:調(diào)用業(yè)務(wù)對(duì)象、父子工廠拆分(applicationContext.xml、dispatcher.xml)

    Spring MVC學(xué)習(xí)隨筆-控制器(Controller)開發(fā)詳解:調(diào)用業(yè)務(wù)對(duì)象、父子工廠拆分(applicationContext.xml、dispatcher.xml)

    學(xué)習(xí)視頻:孫哥說(shuō)SpringMVC:結(jié)合Thymeleaf,重塑你的MVC世界?。八从械腤eb開發(fā)探索之旅 ?? 1. 接收客戶端(Client)請(qǐng)求參數(shù)【講解完畢】2. 調(diào)用業(yè)務(wù)對(duì)象【講解】3. 頁(yè)面跳轉(zhuǎn) dispatcher.xml DAO Service Controller 現(xiàn)有SSM開發(fā)中存在的問(wèn)題 MVC層的對(duì)象(Controller, mvc:annotation-driven/,視圖解

    2024年02月05日
    瀏覽(25)
  • Spring MVC學(xué)習(xí)隨筆-控制器(Controller)開發(fā)詳解:控制器跳轉(zhuǎn)與作用域(二)視圖模板、靜態(tài)資源訪問(wèn)

    Spring MVC學(xué)習(xí)隨筆-控制器(Controller)開發(fā)詳解:控制器跳轉(zhuǎn)與作用域(二)視圖模板、靜態(tài)資源訪問(wèn)

    學(xué)習(xí)視頻:孫哥說(shuō)SpringMVC:結(jié)合Thymeleaf,重塑你的MVC世界!|前所未有的Web開發(fā)探索之旅 銜接上文Spring MVC學(xué)習(xí)隨筆-控制器(Controller)開發(fā)詳解:控制器跳轉(zhuǎn)與作用域(一) SpingMVC中request作用域的處理 代碼 Model、ModelMap相關(guān)細(xì)節(jié)分析 通過(guò)Model、ModelMap進(jìn)行作用域處理,可以解決

    2024年02月05日
    瀏覽(34)
  • 【Java】Spring MVC程序開發(fā)

    【Java】Spring MVC程序開發(fā)

    Spring Web MVC是基于Servlet API構(gòu)建的原始Web框架,從一開始就包含在Spring框架中。它的正式名稱是“Spring Web MVC”來(lái)自其原模塊的名稱,但是它通常被稱為“Spring MVC” 從上述定義我們可以看到兩個(gè)信息: Spring MVC 是一個(gè)Web框架 Spring MVC 是基于Servlet API構(gòu)建的 然而要真正的搞懂S

    2024年01月16日
    瀏覽(26)
  • Java配置方式使用Spring MVC

    Java配置方式使用Spring MVC

    上一節(jié),我們學(xué)習(xí)了如何基于XML配置與注解的方式使用Spring MVC,涉及到三個(gè)XML配置文件:Spring配置文件(spring-config.xml)、Spring MVC配置文件(spring-mvc-config.xml)、Web部署描述文件(web.xml),這一節(jié),我們通過(guò)案例學(xué)習(xí)如何基于Java配置類與注解的方式使用Spring MVC,只有Java配

    2024年02月05日
    瀏覽(15)
  • 【Java EE】關(guān)于Spring MVC 響應(yīng)

    【Java EE】關(guān)于Spring MVC 響應(yīng)

    在博主前面寫的博客 【Java EE】Spring請(qǐng)求如何傳遞參數(shù)詳解 中我們已經(jīng)設(shè)置了響應(yīng)數(shù)據(jù),Http響應(yīng)結(jié)果可以是數(shù)據(jù),也可以是靜態(tài)??,也可以針對(duì)響應(yīng)設(shè)置狀態(tài)碼, Header信息等 首先我們像創(chuàng)建一個(gè)靜態(tài)界面,創(chuàng)建位置如下: 前端代碼如下: 不過(guò)這里的后端的代碼和以前的代碼

    2024年04月14日
    瀏覽(24)
  • java spring MVC之RESTful快速開發(fā)

    java spring MVC之RESTful快速開發(fā)

    我這里有個(gè)一springboot項(xiàng)目 我在啟動(dòng)類同目錄下創(chuàng)建了一個(gè)目錄 目錄名叫 controller 里面有一個(gè)UserController diam結(jié)構(gòu)是這樣的 這是一個(gè)基礎(chǔ)的REST風(fēng)格風(fēng)格開發(fā) 但其實(shí) 我們可以很大程度的簡(jiǎn)化 這里 我先啟動(dòng)項(xiàng)目 然后用Postman測(cè)試 這些都是可以正常訪問(wèn) 和 調(diào)用返回的 確認(rèn)無(wú)誤之

    2024年02月05日
    瀏覽(22)
  • 【Java EE】初識(shí)Spring Web MVC

    【Java EE】初識(shí)Spring Web MVC

    Spring Web MVC 是 基于 Servlet API 構(gòu)建的原始 Web 框架 ,從?開始就包含在Spring框架中。它的正式名稱“Spring Web MVC”來(lái)?其源模塊的名稱(Spring-webmvc),但它通常被稱為)Spring MVC). Servlet是?種實(shí)現(xiàn)動(dòng)態(tài)??的技術(shù).準(zhǔn)確來(lái)講Servlet是?套Java Web 開發(fā)的規(guī)范,或者說(shuō)是?套Java Web 開發(fā)的

    2024年04月10日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包