java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot请求传递

SpringBoot常用请求方式及请求参数传递的方式

作者:Liuzhengyue_

本文给大家介绍SpringBoot常用请求方式及请求参数传递的方式,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

SpringBoot中常用的请求方式

@RequestMapping:不限制请求方式

@GetMapping:获取数据,参数拼接在url的?之后,参数名=参数值多个参数之间用&符号间隔,可缓存

@PostMapping:提交数据,参数不可以直接看见(开发者工具/抓包)

@PutMapping:修改数据

@DeleteMapping:删除数据

关于请求参数的传递

方法一:@PathVariable —— 获取“路径参数”

@GetMapping("/user/{id}")
public String getUserById(@PathVariable Long id) {
    // id 就是路径里的 1001
    return "用户ID:" + id;
}

方法二:@RequestParam —— 获取“查询参数”或“表单参数”

@GetMapping("/user")
public String getUserByName(@RequestParam String name) {
    // name 就是 URL 里的 Tom
    return "用户名:" + name;
}

方法三:@RequestBody —— 获取“请求体参数”(多用于 JSON)

@PostMapping("/user/add")
public String addUser(@RequestBody User user) {
    // user 对象自动映射 JSON 里的数据
    return "新增用户:" + user.getName();
}

方法四:Spring Boot 的“隐式参数绑定”机制 

核心知识

Spring MVC(Spring Boot 2/3 都适用)有一个自动参数绑定机制,叫做 隐式绑定(Implicit Binding)

例子说明

前端请求:

Controller 方法(如你图片里的):

@PostMapping("/register")
public Result register(String username, String password) {
    // Spring 会自动把请求体中的 username、password 赋值过来
}

详细步骤:隐式绑定是怎么工作的?

步骤说明
1前端页面表单用 POST 提交,参数名和方法参数名一致
2Spring 根据 Content-Type 检查是表单提交
3没有 @RequestBody/@ModelAttribute/@RequestParam 注解时,
Spring 会自动把请求参数(key)和方法参数名匹配,赋值进来
4如果参数名不一致,则赋值失败,值为 null

总结:只要表单的参数名和方法参数名一致,就能自动绑定。

路径转化详解 

举例说明:

常见场景和最佳实践 

场景推荐方式说明
简单表单(2-3个参数)可以省略注解,直接用同名参数省事,代码少
参数较多推荐用 @ModelAttribute 封装对象代码更整洁,可扩展性好
JSON 请求体必须用 @RequestBody否则接收不到数据
参数名不一致必须用 @RequestParam("xxx")明确映射关系

到此这篇关于SpringBoot请求方式及请求参数传递的方式的文章就介绍到这了,更多相关SpringBoot请求传递内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文