文章目录
- 引言
- 一、@RequestMapping 注解介绍
- 1.1 @RequestMapping 是 post 还是 get 请求?
- 1.2 @RequestMapping 指定一种请求方式
- 二、@GetMapping
- 三、@PostMapping
- 四、总结
引言
前面我们讲到,学习 Spring MVC 需要掌握三个核心功能即连接,获取参数,输出数据。下面我们来学习连接功能.如何实现呢?将 MVC项目创建好之后,可以使⽤ @RequestMapping 等一系列注解来实现 URL 路由映射,也就是浏览器连接程序的作⽤
一、@RequestMapping 注解介绍
@RequestMapping 是 Spring Web 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路
由映射的
路由映射:所谓的路由映射指的是,当⽤户访问⼀个 url 时,将⽤户的请求对应到程序中某个类的某个⽅法的过程就叫路由映射
@RequestMapping 基础使⽤:
@Controller
@ResponseBody
//我们可以使用组合注解 @RestController 来代替上述两个注解,效果一样
//@RestController
@RequestMapping("/user")
public class TestController {
@RequestMapping("/sayhello")
public String sayhello() {
return "hello !!!good";
}
}
@RequestMapping 可以同时修饰类和方法,当修饰类和⽅法时,访问的地址是类 + ⽅法。它也可以直接修饰⽅法,访问地址就是方法
1.1 @RequestMapping 是 post 还是 get 请求?
- @RequestMapping 默认是支持 get,post 两种⽅式的请求,可以使⽤ postman 进⾏测试
使用 get 请求:
使用 post 请求:
1.2 @RequestMapping 指定一种请求方式
- 那当我们想要指定某一个 请求方式呢?
我们可以显示的指定 @RequestMapping 来接收特定方式请求,如下:
@RequestMapping(method = RequestMethod.POST, value = "/sayhi")
public String sayhi() {
return "hello world !";
}
再次使用 postman 发送 get 请求测试,如下:
上述结果表名,当我们显示指定一种请求方式时,另一种请求方式就不支持了,会报错!
通过显示指定,同样可以指定 get 方式请求,我们就不举例了。那是否还有其他方式指定某一请求方式呢?答案是肯定的的!!
二、@GetMapping
@GetMapping 注解只支持 get 方式的请求
代码示例:
//设置只支持 get 请求
@GetMapping("/sayhi2")
public String sayhi2() {
return "hello world 2 !";
使用 postman 测试如下:
当我们改成 post 方式就会报错 !!
三、@PostMapping
@PostMapping 只支持 post 方式的请求
代码示例:
//设置只支持 post 请求
@PostMapping("/sayhi1")
public String sayhi1() {
return "hello world 1 !";
}
使用 postman 测试如下:
同样,此时使用 get 方式请求就会报错 !!
四、总结
get 请求的 3 种写法:
// 写法1
@RequestMapping("/index")
// 写法2
@RequestMapping(value = "/index",method = RequestMethod.GET)
// 写法3
@GetMapping("/index")
post 请求的 3 种写法:
// 写法1
@RequestMapping("/index")
// 写法2
@RequestMapping(value = "/index",method = RequestMethod.POST)
// 写法3
@PostMapping("/index")