广告位联系
返回顶部
分享到

我对@RestController注解的理解

java 来源:互联网 作者:佚名 发布时间:2024-03-29 22:56:14 人浏览
摘要

对@RestController注解的理解 在Spring中@RestController的作用 等同于@Controller + @ResponseBody。 所以想要理解@RestController注解 就要先了解@Controller和@ResponseBody注解 @Controller注解 在一个类上添加@Controller注

对@RestController注解的理解

在Spring中@RestController的作用

等同于@Controller + @ResponseBody。

所以想要理解@RestController注解

就要先了解@Controller和@ResponseBody注解

@Controller注解

在一个类上添加@Controller注解,表明了这个类是一个控制器类。

这里省略对Controller注解的说明了。

@ResponseBody注解

@ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径。

格式的转换是通过HttpMessageConverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。

如果要求方法返回的是json格式数据,而不是跳转页面,可以直接在类上标注@RestController,而不用在每个方法中标注@ResponseBody,简化了开发过程。

@Controller和@RestController的区别:

@Controller:

  • 在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
  • 若返回json等内容到页面,则需要加@ResponseBody注解

@RestController:

  • 相当于@Controller+@ResponseBody两个注解的结合
  • 返回json数据不需要在方法前面加@ResponseBody注解了
  • 但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

代码示例

BuyerProductController

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

/**

 * 买家商品

 * 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(){

 

    }

}


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。

您可能感兴趣的文章 :

原文链接 :
    Tag :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计