-
用户注册
-
多参数无实体一
-
多参数无实体二
-
传递数组
-
传递集合
-
传递集合实体对象
-
传递集合实体对象一对多
-
炒鸡复杂
-
RESTful 风格
-
原则
-
小结
====================================================================
开发这么多年,肯定还有不少小伙伴搞不清各种类型的参数是如何传递的,很多同学都是拿来即用,复制粘贴一把撸,遇到问题还是一脸懵逼。
====================================================================
学习参数传递的正确姿势,先说怎么做,再说为什么,本质上还是复制粘贴一把撸,问题是你想问不想问为什么!
====================================================================
- 前端代码:
var param = {
“username”: “admin”,
“password”: “admin”
}
$.ajax({
url: “/sys/login”,
data: param,
type: “post”,
dataType: “json”,
success: function(data) {
}
});
- 后端代码:
@RestController
@RequestMapping(“/sys”)
public class LoginController {
private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
/**
- 登录
*/
@PostMapping(“/login”)
public Result login(String username, String password){
logger.info(“用户登录”+username);
//业务逻辑
return Result.ok(“登录成功”);
}
}
当然,你也可以这么实现,@RequestParam(value=“username”, required=true) ,required 默认为 true,如果前台不传递此参数,后台会报错。如果设置为 false,如果不传,默认为 null。
**
-
登录
-
https://blog.52itstyle.vip
*/
@PostMapping(“/login”)
public Result login(@RequestParam(value=“username”, required=true) String username,
@RequestParam(value=“password”, required=true) String password){
logger.info(“用户登录”+username);
//业务逻辑
return Result.ok(“登录成功”);
}
-
前端代码,提交方式与登录基本保持一致。
-
后端代码:
用一个对象来接收前台参数,一般后端有对应的实体类。
/**
-
注册
-
https://blog.52itstyle.vip
*/
@PostMapping(“/register”)
public Result register(SysUser user){
logger.info(“{},用户注册”,user.getUsername());
//业务逻辑
return Result.ok(“注册成功”);
}
- 前端代码:
var param = {
“title”: “爪哇笔记”,
“content”: “一个有趣的公众号”,
“author”: “小柒2012”
}
param = JSON.stringify(param);
$.ajax({
url: “/sys/multiParameter”,
data: param,
type: “post”,
contentType: “application/json”,
dataType: “json”,
success: function(data) {
}
});
- 后端实现:
/**
-
多参数
-
https://blog.52itstyle.vip
*/
@PostMapping(“/multiParameter”)
public Result register(@RequestBody Map<String,Object> map){
logger.info(“多参数传递:{},{}”,map.get(“title”),map.get(“content”));
//业务逻辑
return Result.ok(“接收多参数成功”);
}
- 前端代码:
var param = {
“title”: “爪哇笔记”,
“content”: “一个有趣的公众号”,
“author”: “小柒2012”
}
$.ajax({
url: “/sys/multiParameter”,
data: param,
type: “post”,
dataType: “json”,
success: function(data) {
}
});
- 后端实现:
/**
-
多参数
-
https://blog.52itstyle.vip
*/
@PostMapping(“/multiParameter”)
public Result register(@RequestParam Map<String,Object> map){
logger.info(“多参数传递:{},{}”,map.get(“title”),map.get(“content”));
//业务逻辑
return Result.ok(“接收多参数成功”);
}
- 前端代码:
var param = {
“ids”: [1, 2, 3]
}
$.ajax({
url: “/sys/array”,
data: param,
type: “post”,
dataType: “json”,
success: function(data) {
}
});
- 后端实现:
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
不前!**
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-oyclAukM-1711005866308)]
[外链图片转存中…(img-c3PW7zsZ-1711005866308)]
[外链图片转存中…(img-i1Ojh62N-1711005866309)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-iSu7UHUw-1711005866310)]
最后
[外链图片转存中…(img-QoyDcHRH-1711005866310)]
[外链图片转存中…(img-rzoESjOo-1711005866311)]