91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot中@Controller和@RestController的區別是什么

發布時間:2022-03-04 14:14:17 來源:億速云 閱讀:233 作者:小新 欄目:開發技術

小編給大家分享一下springboot中@Controller和@RestController的區別是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

@Controller和@RestController的區別及應用

@Controller和@RestController區別

在springboot開發中控制層使用注解@Controller時,加有@GetMapping(@PostMapping或@RequestMapping)注解的方法返回值對應的是一個視圖,而使用@RestController返回值對應的是json數據,而@Controller+@ResponseBody的作用相當于@RestController。

@Controller的應用

先在application.properties配置文件中配置

spring.mvc.view.prefix=classpath:/templates/
spring.mvc.view.suffix=.html

然后在控制層CustomerController類的代碼為

@Controller
public class CustomerController {
    @Resource
    CustomerServiceI customerServiceI;
    @GetMapping("/")
    public String index() {
        return "redirect:/list";
    }
    @GetMapping("/list")
    public String list(Model model) {
        List<Customer> users = customerServiceI.getUserList();
        model.addAttribute("users",users);
        return "list";
    }
}

啟動程序后在瀏覽器輸入localhost:8080/list訪問頁面即為templates文件夾下的list.html

springboot中@Controller和@RestController的區別是什么

@RestController的應用

控制層CustomerController類的代碼為

@RestController
public class CustomerController {
    @Resource
    CustomerServiceI customerServiceI;
    @GetMapping("/")
    public String index() {
        return "redirect:/list";
    }
    @GetMapping("/list")
    public List<Customer> list(Model model) {
        List<Customer> users = customerServiceI.getUserList();
        model.addAttribute("users",users);
        return users;
    }
}

啟動程序后在瀏覽器輸入localhost:8080/list訪問效果如下

springboot中@Controller和@RestController的區別是什么

@Controller和@RestController區別的小坑

這兩個的區別其實是個很簡單的問題,但是對于初學者可能遇到了會掉坑里。

@RestController注解相當于@ResponseBody + @Controller合在一起的作用。

1.如果注解Controller使用@RestController

則Controller中的方法無法返回jsp頁面,或者html,配置的視圖解析器 InternalResourceViewResolver不起作用,返回的內容就是Return 里的內容。

代碼如圖:

springboot中@Controller和@RestController的區別是什么

結果如圖:

springboot中@Controller和@RestController的區別是什么

2.如果需要返回到指定頁面(jsp/html)

則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行。

代碼如圖:

springboot中@Controller和@RestController的區別是什么

結果如圖:

springboot中@Controller和@RestController的區別是什么

如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody注解。

代碼如圖:

springboot中@Controller和@RestController的區別是什么

結果如圖:

springboot中@Controller和@RestController的區別是什么

以上是“springboot中@Controller和@RestController的區別是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九龙城区| 武定县| 大新县| 方山县| 如东县| 永康市| 万荣县| 凤山市| 罗田县| 莲花县| 台湾省| 聂拉木县| 始兴县| 盖州市| 华阴市| 驻马店市| 新源县| 垦利县| 监利县| 宁强县| 金山区| 上饶市| 绥宁县| 贵德县| 鄯善县| 温泉县| 新竹县| 普安县| 桑日县| 广州市| 新干县| 正镶白旗| 黔西| 达州市| 上犹县| 涞源县| 普格县| 遂昌县| 咸阳市| 全椒县| 泾川县|