当前位置: 首页 > news >正文

Spring MVC 接口的访问方法如何设置

@RequestMapping 是 Spring 框架中用于映射 HTTP 请求到控制器方法的注解。它支持以下 HTTP 方法访问类型,通过 method 属性指定:

  1. GET:用于获取资源
  2. POST:用于提交数据
  3. PUT:用于更新资源
  4. DELETE:用于删除资源
  5. PATCH:用于部分更新资源
  6. HEAD:类似于 GET 请求,但只返回状态行和头信息
  7. OPTIONS:返回服务器支持的 HTTP 方法

现实情况GET方法和POST方法的使用占很大的部分,主要讲解GET和POST方法的使用,其他方法举一反三就可以了

1.所有方法都可以访问情况

@RequestMapping可以是类注解也可以是方法注解,加在类上或者加在方法上都可以,一般来说都建议在类上面加上,因为方便我们快速的定位问题。

@RestController
@RequestMapping("/user")   //第一层路径
public class UserController {@RequestMapping("/u1") //第二层路径public String u1() {return "hello u1";}
}

将程序运行起来后,通过浏览器输入 http://localhost:8080/user/u1 访问,当然端口有可能不是8080,在运行的时候看一下就可以了

结果:

1.1 类注解可以不写,但是一般建议写上

@RestController
public class UserController {@RequestMapping("/u1")public String u1() {return "hello u1";}
}

1.2 在写路径的时候不写 “/” 也可以,但是最好加上,这算是行业内的规范

@RequestMapping("user")
public class UserController {@RequestMapping("u1")public String u1() {return "hello u1";}
}

1.3 也可以写多层路径

@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/u/u1")public String u1() {return "hello u1";}
}

 

2. 限制特定的方法访问

这里我只举例get的访问方式,之后的简单介绍一下就ok了

在注解中添加method属性,可以通过这些属性设置访问的限定方式:

@RequestMapping添加method属性

@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping(value = "/u1", method = RequestMethod.GET)public String u1() {return "hello u1";}
}

或者使用

@GetMapping

@RestController
@RequestMapping("/user")
public class UserController {//    @RequestMapping(value = "/u1", method = RequestMethod.GET)@GetMapping("/u1")//就只能被get方法访问public String u1() {return "hello u1";}
}

不同方法测试

这里我们用postman来测试,不同的方法是否可以访问:

测试get方法:

测试post方法:

 

3.其他方法

 

快捷注解

为简化开发,Spring 还提供了针对特定 HTTP 方法的快捷注解:

 
  • @GetMapping:等同于 @RequestMapping(method = RequestMethod.GET)
  • @PostMapping:等同于 @RequestMapping(method = RequestMethod.POST)
  • @PutMapping:等同于 @RequestMapping(method = RequestMethod.PUT)
  • @DeleteMapping:等同于 @RequestMapping(method = RequestMethod.DELETE)
  • @PatchMapping:等同于 @RequestMapping(method = RequestMethod.PATCH)
 

这些快捷注解使代码更简洁易读,推荐优先使用。

相关文章:

  • 主流快递查询API横向对比:快递100快递鸟菜鸟物流接口差异解析
  • 本地 PC 使用Offset Explorer连接实体Ubuntu Kafka 【单机】超时问题解决
  • 印度Rummy游戏支付通道申请策略:技巧类游戏的合规与创新
  • 5.19 BGP实验
  • 动态规划之数列
  • 免疫浸润分析
  • C语言-8.数组
  • Java大师成长计划之第23天:Spring生态与微服务架构之服务发现与注册中心
  • Manus AI 原理深度解析第三篇:Tools
  • 电总协议调试助手更新-PowerBus-v1.0.5
  • 作业帮Java后台开发面试题及参考答案(下)
  • ACI Fabric 中的各种地址
  • OneNote内容太多插入标记卡死的解决办法
  • 汽配知识(三)|跨境电商平台的汽配类目划分与关键词逻辑
  • Hive PredicatePushDown 谓词下推规则的计算逻辑
  • 嵌入式学习笔记DAY21(双向链表、Makefile)
  • 盲盒:拆开未知的惊喜,收藏生活的仪式感
  • 养生:解锁健康生活的核心密码
  • js在浏览器执行原理
  • golang -- 认识channel底层结构
  • 国防部:中方愿与俄方不断增强两军关系良好发展势头
  • 杞支雅男评《1517》|放眼世界,立足德国
  • 呼吸医学专家杜晓华博士逝世,终年50岁
  • 外交部:反对美方人士发表不负责任谬论
  • 外国游客“在华扫货”热:“带空箱子到中国!”
  • 李公明 | 一周画记:印巴交火会否升级为第四次印巴战争?