0


【Spring】@RequestMapping、@RestController和Postman

文章目录

1.@RequestMapping 注解介绍

@RequestMapping

是 Spring Web MVC 引用程序中最常被用到的注解之一,它是用来注册接口的路由映射的,表示服务收到请求时,路径为

/sayHello

的请求就会调用

sayHi

这个方法的代码

路由映射:当用户访问一个 URL 时,将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射


既然

@RequestMapping

已经可以达到我们的目的了,我们为什么还要加

@RestController

呢?

  • 我们把 @RestController 去掉,再来访问一次image.png
  • 可以看到,程序报了 404,找不到该页面,这就是 @RestController 起到的作用

一个项目中,会有很多类,每个类可能会有很多的方法,Spring 程序怎么知道要执行哪个方法呢?

  • Spring 会对所有的类进行扫描,如果类加了注解 @RestController,Spring 才会去看这个类里面的方法有没有加 @RequestMapping 这个注解

2. @RequestMapping 使用

**

@RequestMapping

既可修饰方法,也可修饰类。** 当修饰类和方法时,访问的地址是类路径+方法路径

  • @RequestMapping 标识一个类:设置映射请求的请求路径的初识信息
  • @RequestMapping 标识一个方法:设置映射请求请求路径的具体信息
importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RequestMapping("/user")@RestControllerpublicclassUserController{@RequestMapping("/sayHello")publicStringsayHi(){return"hello, spring mvc";}}
  • 访问地址: http://127.0.0.1:8080/user/sayHello image.png|496
  • 注意:@RequestMapping 的 URL 路径最前面加不加 / 都可以,Spring 程序启动时,会进行判断,如果前面没有 /,Spring 会拼接上一个 /

通常情况下,我们加上

/

@RequestMapping

的 URL 路径也可以是多层的,最终访问时,依然是类路径+方法路径

importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RequestMapping("/user/m1")@RestControllerpublicclassUserController{@RequestMapping("/sayHello")publicStringsayHi(){return"hello, spring mvc";}}

image.png|479


3. @RequestMapping 是 GET 还是 POST 请求?

我们来测试一下就知道了

GET 请求

浏览器发送的请求类型都是

GET

,通过以上案例,可以看出来

@RequestMapping

支持

GET

请求

POST 请求

我们通过 form 表单来构造请求:


创建

test.html

,HTML代码:

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><formaction="user/sayHello"method="post"><inputtype="submit"value="提交"></form></body></html>
  • 前端代码放在 static 目录下,访问方式为: http://127.0.0.1:8080/test.html image.png|209
  • 如果有多层目录,访问链接从 static 目录开始写image.png|307
  • 如上图,访问链接为:127.0.0.1:8080/html/test.htmlimage.png 从运行结果可以看出:@RequestMapping 既支持 GET 请求,又支持 POST 请求。同理,也支持其他的请求方式,那如何指定 GET 或者 POST 类型呢?

指定 GET/POST 方法类型

我们可以显示指定的

@RequestMapping

来接收

POST

的情况,如下所示:

importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassUserController{@RequestMapping(value ="/getRequest", method =RequestMethod.POST)publicStringsayHi(){return"hello, spring mvc";}}

2. Postman 介绍

从上面的案例中,发现了一个新的问题,就是我们测试后端方法时,还需要去写前端代码。这对我们来说,是一件麻烦又痛苦的事情。

随着互联网的发展,也随着项目难度的增加,企业也按照开发的功能,把人员拆分成了不同的团队。界面显示交给“前端开发工程师”,业务逻辑的实现交给了“后端开发工程师”。后端开发工程师,不要求也不需要掌握前端的技能了。

那后端开发工程师如何测试自己的程序呢?使用专业的接口测试工具——

Postman

1. 创建请求

image.png|485
image.png|455

界面介绍image.png


2. 传参介绍

1. 普通传参

也就是通过查询字符串来传参

学习 HTTP 的时候,我们通过 URL 来访问互联网上的某一个资源,URL 的格式如下:image.png 其中,查询字符串就是请求的参数image.png


2. form-data

完整表示为:

multipart/form-data

。表单提交的数据,在

form

标签中加上

enctyped="multipart/form-data"

,通常用于提交图片/文件。对应

Content-Type: multipart/form-data

image.png


3. x-www-form-urlencoded

form

表单,对应

Content-Type: application/x-www-from-urlencoded

image.png

4. raw

可以上传任意格式的文本,可以上传 text、json、xml、html 等image.png


标签: spring java 后端

本文转载自: https://blog.csdn.net/Yeeear/article/details/142702709
版权归原作者 椰椰椰耶 所有, 如有侵权,请联系我们删除。

“【Spring】@RequestMapping、@RestController和Postman”的评论:

还没有评论