日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Controller和RestController的区别

發布時間:2024/4/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Controller和RestController的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Controller, RestController的共同點

???? 都是用來表示Spring某個類的是否可以接收HTTP請求

?

2.? Controller, RestController的不同點

???? @Controller:  標識一個Spring類是Spring MVC controller處理器

???? @RestController:?   @RestController是@Controller和@ResponseBody的結合體,兩個標注合并起來的作用。

?

  @Controller類中的方法可以直接通過返回String跳轉到jsp、ftl、html等模版頁面。在方法上加@ResponseBody注解,也可以返回實體對象

  @RestController類中的所有方法只能返回String、Object、Json等實體對象,不能跳轉到模版頁面。

?

?

@RestController中的方法如果想跳轉頁面,則用ModelAndView進行封裝,如下:

@RestController public class UserController {@RequestMapping(value = "/index",method = RequestMethod.GET)public String toIndex(){ModelAndView mv = new ModelAndView("index"); return mv; } }

?

?

示例如下:

@Controller @ResponseBody public class MyController { }

@RestController
public class MyRestController { }

?

?

@Controller注解源碼:

package org.springframework.stereotype;import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.stereotype.Component; @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Controller { String value() default ""; }

?

?

@RestController注解源碼:

package org.springframework.web.bind.annotation;import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ResponseBody; @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Controller @ResponseBody public @interface RestController { String value() default ""; }

?

總結

以上是生活随笔為你收集整理的Controller和RestController的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。