@Controller和@RestController的区别

一、@Controller和@RestController的区别
@Controller和@RestController 都是spring的注解
都是用来表示Spring某个类的是否可以接收HTTP请求
区别
@Controller标识一个Spring类是Spring MVC controller处理器
@RestController 是@Controller和@ResponseBody的结合体,两个标注合并起来的作用
使用
当一个类所有接口都需要返回json,不需要返回渲染页面时 直接在类上使用@RestController 就可以。
当有部分接口需要返回json,另一部分返回渲染页面时,在类上注解@Controller,需要返回json的接口在方法上使用注解@ResponseBody配合就可以了。

二、另外在这里说一下如何返回渲染页面
这里需要用到FreeMarker
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
在springboot项目中使用:
1.在pom中引入依赖

	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
		</dependency>

2.在properties文件中配置

#freemarker文件后缀及路径配置
spring.freemarker.suffix=.htm
spring.freemarker.template-loader-path=classpath:/templates/

在指定路径写一个.htm文件 (事实上这里文件的后缀名是和刚刚上面配置文件中配置的后缀是对应的,所以使用 .cxn都是可以的 只要配置的和自己写的页面后缀一致就好)
在这里插入图片描述
写一个接口返回 使用@Controller就可以
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190315154945644.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NoZW5nQ2hlbmd4bg==,size_16,color_FFFFFF,t_70
启动项目 访问localhost:8080/index就可以看到页面(端口号看自己配置)
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值