@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页面

扫描二维码关注公众号,回复: 11945994 查看本文章

代码示例

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

    }
}

猜你喜欢

转载自blog.csdn.net/qq_37924905/article/details/109137856
今日推荐