【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】

文章目录

  • 引言
  • 一、@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 请求?

  1. @RequestMapping 默认是支持 get,post 两种⽅式的请求,可以使⽤ postman 进⾏测试

使用 get 请求:
【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】_第1张图片

使用 post 请求:
【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】_第2张图片

1.2 @RequestMapping 指定一种请求方式

  1. 那当我们想要指定某一个 请求方式呢?
    我们可以显示的指定 @RequestMapping 来接收特定方式请求,如下:
@RequestMapping(method = RequestMethod.POST, value = "/sayhi")
    public String sayhi() {
        return "hello world !";
    }

再次使用 postman 发送 get 请求测试,如下:

【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】_第3张图片

上述结果表名,当我们显示指定一种请求方式时,另一种请求方式就不支持了,会报错!

通过显示指定,同样可以指定 get 方式请求,我们就不举例了。那是否还有其他方式指定某一请求方式呢?答案是肯定的的!!


二、@GetMapping

@GetMapping 注解只支持 get 方式的请求

代码示例:

 //设置只支持 get 请求
    @GetMapping("/sayhi2")
    public String sayhi2() {
        return "hello world 2 !";

使用 postman 测试如下:
【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】_第4张图片

当我们改成 post 方式就会报错 !!

三、@PostMapping

@PostMapping 只支持 post 方式的请求

代码示例:

//设置只支持 post 请求
    @PostMapping("/sayhi1")
    public String sayhi1() {
        return "hello world 1 !";
    }

使用 postman 测试如下:

【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】_第5张图片

同样,此时使用 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")

你可能感兴趣的:(JavaEE,进阶(框架内容),spring,mvc,java)