【JavaEE进阶】 @RequestMapping注解

文章目录

  • [🎄什么是@RequestMapping 注解](#🎄什么是@RequestMapping 注解)
  • [🌳@RequestMapping 使⽤](#🌳@RequestMapping 使⽤)
  • [🌲@RequestMapping 是GET还是POST请求?](#🌲@RequestMapping 是GET还是POST请求?)
  • ⭕总结

🎄什么是@RequestMapping 注解

在Spring MVC 中使⽤ @RequestMapping 来实现 URL 路由映射 ,也就是浏览器连接程序的作⽤

我们先来看看代码怎么写

创建⼀个 TalkController 类,实现⽤⼾通过浏览器和程序的交互,具体实现代码如下:

java 复制代码
package org.example.springmvc.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class TalkController {
    @RequestMapping("/hi")
    public String hi() {
        return "hi 遇事问春风乄";
    }
}

这时候我们使用浏览器访问 http://127.0.0.1:8080/hi 就可访问

@RequestMapping 是Spring Web MVC 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的.

表⽰服务收到请求时,路径为/sayHi的请求就会调⽤hi这个⽅法的代码.

路由映射:当⽤⼾访问⼀个URL时,将⽤⼾的请求对应到程序中某个类的某个⽅法的过程就叫路由映射

🌳@RequestMapping 使⽤

@RequestMapping 即可修饰类,也可以修饰⽅法,当修饰类和⽅法时,访问的地址是

  • 类路径 + ⽅法路径.

@RequestMapping标识⼀个类:设置映射请求的请求路径的初始信息

@RequestMapping标识⼀个⽅法:设置映射请求请求路径的具体信息

比如以下代码:

java 复制代码
package org.example.springmvc.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/talk") //类路径为:/talk
@RestController
public class TalkController {
    @RequestMapping("/hi") //方法路径为:/hi
    public String hi() {
        return "hi 遇事问春风乄" ;
    }
}

我们在进行访问时就需要输入 http://127.0.0.1:8080/talk/hi

注意:

  • @RequestMapping 的URL 路径最前⾯加不加 / (斜杠) 都可以,Spring程序启动时,会进⾏判断,如果前⾯没有加 / ,Spring会拼接上⼀个 /
  • 建议最好加上

🌲@RequestMapping 是GET还是POST请求?

通过以上案例, 可以看出来 @RequestMapping ⽀持get请求.,那么@RequestMapping 是否支持POST请求

🚩使用Postman构造POST请求

这里博主使用一个工具 Postman 来进行构造 POST 请求,直接官网下载就好

构造请求步骤如下:

  • 第一步
  • 第二步

页面相关介绍如下:

接下来我们构造一个POST请求来进行发送

我们发现依旧是可以进行访问的。

那么问题来了,如果我只想让那个请求是 POST 请求 或者 GET 请求呢?

我们该怎么做呢?

其实做法很简单,写法如下

这时候你用 Postman 构造 get 请求时,就会出现以下情况

当我们使用浏览器访问时则会出现

如此一来就实现了只能允许一种请求访问的效果。

⭕总结

关于《【JavaEE进阶】 @RequestMapping注解》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下!

相关推荐
Java知识库1 小时前
2025秋招后端突围:JVM核心面试题与高频考点深度解析
java·jvm·程序员·java面试·后端开发
南枝异客1 小时前
四数之和-力扣
java·算法·leetcode
英杰.王1 小时前
深入 Java 泛型:基础应用与实战技巧
java·windows·python
Leaf吧1 小时前
java BIO/NIO/AIO
java·开发语言·nio
IT_10242 小时前
springboot从零入门之接口测试!
java·开发语言·spring boot·后端·spring·lua
湖北二师的咸鱼2 小时前
c#和c++区别
java·c++·c#
weixin_418007602 小时前
软件工程的实践
java
皮皮林5513 小时前
项目终于用上了 Spring 状态机,太优雅了!
spring
lpfasd1233 小时前
备忘录模式(Memento Pattern)
java·设计模式·备忘录模式
迢迢星万里灬4 小时前
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术点解析
java·spring boot·spring·mybatis·spring mvc·面试指南