前言
本文学习如何运用不同的注解来返回不同的响应.
1.返回静态页面@Controller
返回index.html页面
@Controller 和 @RestController的区别
-
@controller
只有加上这个注解,Spring才会帮我们管理这个代码.后续我们访问时才能访问到.
-
@RestController
等同于 @Controller+ @ResponseBody
联系:
@Controller 返回视图.
随着前后端分离,后端不处理页面,就返回页面所需要的数据
@RestController 返回数据.
相当于@controller+@ResponseBody
2.返回数据@ResponseBody
- 可以修饰类
表示这个类下的所有方法返回的都是数据 .
- 也可以修饰方法
表示这个方法返回的都是数据.
3.返回html的代码片段
和返回数据一样.
返回的数据中包含的html标签会直接被浏览器解析.
4.返回json
4.1返回对象
此时响应的数据类型conten_type是application/json , 也就是对象转化了json数据.
4.2返回Map
此时查看响应报文 ,正文类型也是application/json
总结:
当接口返回的是String时,content-type是text/html
当接口返回的是对象或者map时,content-type会被设置为application/json
5.设置状态码(http状态码)
状态码不会影响页面的展示
查看响应头
6.设置header
@RequestMapping注解设置Content_type
查看@RequestMapping注解的源码
produce相当于设置正文类型
consume相当于限制正文类型
案例练习 - 用户登陆案例
1.登陆接口
/user/login
username= ? & password=?
后端:
前端:
接口返回:校验成功/失败
2.获取用户的登陆信息
/user/getUserInfo
接口返回:当前的用户名字
后端:
前端:
建议:写完后端接口先访问查看一下.