@RestController注解

参考声明:https://www.cnblogs.com/melodyjerry/p/14357630.html

参考声明:https://www.cnblogs.com/flower-dance/p/14267042.html

@RestController

  • @RestController注解,相当于@ResponseBody@Controller
  • Spring 4.0引入了@RestController,这是一个控制器的专用版本,它是一个方便的注释。

通过使用@RestController批注对控制器类进行注释,您不再需要将@ResponseBody添加到所有请求映射方法中。@ResponseBody注释默认处于活动状态。

说明它同时拥有这2注解的功能,@Controller注解表示后,该类将会被spring管理,@ResponseBody注解标识后,响应数据可以是文本或者JSON数据类型。所以这里我们return map的时候,可以直接输出JSON数据当然@RestController注解属于springmvc的,并不属于springboot的。

为什么要有这个注解?

  为什么在有了@Controller注解的同时,还要有@RestController呢?

  先说一下之前我们是则么做的,在使用@Controller的时候

  我们的Controller中的方法会用于返回页面视图的,当然这是前后端不分离的情况,我们要返回JSON数据,是要在方法上面加上@ResponseBody的

  但是如果接口多了,那么每个方法上都加,就会变得比较冗余,并且现在都是前后端分离的项目,前端有自己的路由,并不需要后端控制,所以一般所有的接口都是通过JSON数据交互的,所以采用RestController

Demo

要在我们的示例中使用@RestController,我们需要做的就是将@Controller修改为@RestController并从每个方法中删除@ResponseBody

结果类似代码应如下所示:

@RestController /* @Controller + @ResponseBody */
@RequestMapping("/account")
public class AccountController {
    
    //注入Service服务对象
    @Autowired
    private AccountService accountService;
 
    //获取account列表
    @GetMapping("/list")
    public ResultVO getAccountLists(@RequestBody(required = false) StandardDTO<AccountDTO> dto) {
        return ResultVO.ok(accountService.getAccountLists(dto));
    }
}

我们不再需要把@ResponseBody添加到请求映射方法中。

  • 更改后,再次在服务器上运行应用程序会产生与以前相同的输出。

小结

使用@RestController非常简单,这是

  • Spring 4.0开始创建MVC RESTful Web服务
  • 或者,基于SpringBoot 2.x首选方法。
posted @   哩个啷个波  阅读(5909)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2021-11-06 集合怎么转换成数组?(数组怎么转换成集合)
点击右上角即可分享
微信分享提示