【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注解》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下!

相关推荐
Csxyzj几秒前
kubernetes集群部署方法
java·linux·kubernetes
SQL-First布道者6 分钟前
全面解构传统持久层框架,拥抱真正的 SQL-First
java·数据库·spring boot·sql·spring·mybatis·spring jdbc
小蒜学长39 分钟前
vue旅游攻略网站(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端·旅游
凤山老林1 小时前
轻量级规则引擎落地:Spring Boot 集成 LiteFlow 实现动态业务编排与热更新
java·spring boot·后端·规则引擎·liteflow
夏贰四1 小时前
管控数据加载调度如何规避任务冲突?数据加载运维监控体系该如何搭建?
java·大数据·运维
山甫aa1 小时前
JavaWeb后端开发学习手册
java·开发语言·数据库·学习·mysql·springboot·web
鱼鳞_1 小时前
热门八股-JVM
java·jvm
ly76891 小时前
XML 从入门到实践:语法、命名空间、XPath、XSD 与 Java 安全解析
xml·java·python
长谷深风1112 小时前
好的 Tool Schema,不是字段越全越好
java·大数据·人工智能·ai agent·agent工作流·智能体设计·ai产品设计
IT 行者2 小时前
用 HiddenHttpMethodFilter 解决浏览器不支持 PUT/DELETE/PATCH 的问题
java·spring