一、Spring MVC的注解
Spring Boot下的Spring MVC和之前的Spring MVC使用是完全一样的,主要有以下注解
1. @Controller
Spring MVC的注解,处理http请求
协议:提供请求方式和数据传递格式
传输:
- TCP协议: 长链接协议(jdbc) 安全可靠协议 三次握手 性能低一些
- UDP协议: 无连接协议 不安全可靠 性能高一些 下载 视频 ...
网络:
- IP协议:ip地址 网络中唯一标识这台主机
- MAC地址:物理地址 全球唯一标识这台电脑 48位16进制数据
几乎所有协议都是基于TCP/IP协议, UDP/IP协议
HTTP协议:是基于 TCP/IP协议 基础之上,封装的短连接协议 、无状态
案例:班长 买咖啡 办会员卡(cookie)请求方式:
- GET 请求指定的页面信息,并返回实体主体。
- HEAD 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
- POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
- PUT 从客户端向服务器传送的数据取代指定的文档的内容。
- DELETE 请求服务器删除指定的页面。
- CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
- OPTIONS 允许客户端查看服务器的性能。
- TRACE 回显服务器收到的请求,主要用于测试或诊断。
- PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 。
浏览器默认只支持get post两种请求方式!
2. @RestController
- Spring 4 后新增注解,是@Controller注解功能的增强
- 是@Controller与@ResponseBody的组合注解
- 如果一个Controller类添加了@RestController,那么该Controller类下的所有方法都相当于添加了@ResponseBody注解
- 用于返回字符串或json数据
创建MyRestController类,演示@RestController替代@Controller + @ResponseBody
@RestController public class MyRestController { @Autowired private StudentService studentService; @RequestMapping("/boot/stu") public Object stu(){ return studentService.getStudentById(1); } }
启动应用,浏览器访问测试
3. @RequestMapping(常用)
支持Get请求,也支持Post请求
4. @GetMapping
RequestMapping 和 Get 请求方法的组合
只支持Get请求
Get请求主要用于查询操作
5. @PostMapping
RequestMapping 和 Post 请求方法的组合
只支持Post请求
Post请求主要用户新增数据
6. @PutMapping
RequestMapping 和 Put 请求方法的组合
只支持Put请求
Put通常用于修改数据
7. @DeleteMapping
RequestMapping 和 Delete 请求方法的组合
只支持Delete请求
通常用于删除数据
二、综合案例
该案例主要演示了使用Spring提供的不同注解接收不同类型的请求
1. 创建MVCController实现类
/*
* 该案例主要演示了使用Spring提供的不同注解接收不同类型的请求
* */
//RestController注解相当于加了给方法加了@ResponseBody注解,所以是不能跳转页面的,只能返回字符串或者json数据
@RestController
public class MVCController {
/*
* 以前我们通过method属性指定请求的方式
* @RequestMapping即支持get又支持post
* 不写method默认就是
* */
@RequestMapping(value = "/boot/req")
public Object req(HttpServletRequest request) {
return "req";
}
/*
* 只支持get
* */
@GetMapping("/boot/get")
public Object get() {
return "get";
}
/*
* 只支持post
* */
@PostMapping("/boot/post")
public Object post() {
return "post";
}
/*
* 只支持put
* */
@PutMapping("/boot/put")
public Object put() {
return "put";
}
/*
* 只支持delete
* */
@DeleteMapping("/boot/delete")
public Object delete() {
return "delete";
}
}
2. 配置 application.properties
server.port=9004
server.servlet.context-path=/004-springboot-springmvc
3. 启动应用,在浏览器中输入不同的请求进行测试
(1)@RequestMapping(常用)
(2)@GetMapping
4. Http接口请求工具Postman介绍
因为通过浏览器输入地址,默认发送的只能是get请求,通过Postman工具,可以模拟发送不同类型的请求,并查询结果,在安装的时候,有些机器可能会需要安装MicroSort .NET Framework