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。
/** * 登录 * 堆代码 duidaima.com */ @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("登录成功"); }用户注册
/** * 注册 * 堆代码 duidaima.com */ @PostMapping("/register") public Result register(SysUser user){ logger.info("{},用户注册",user.getUsername()); //业务逻辑 return Result.ok("注册成功"); }多参数无实体一
var param = { "title": "堆代码", "content": "程序员常去的网站", "author": "duidaima" } param = JSON.stringify(param); $.ajax({ url: "/sys/multiParameter", data: param, type: "post", contentType: "application/json", dataType: "json", success: function(data) { } });后端实现:
/** * 多参数 */ @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": "duidaima" } $.ajax({ url: "/sys/multiParameter", data: param, type: "post", dataType: "json", success: function(data) { } });后端实现:
/** * 多参数 */ @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) { } });后端实现:
/** * 数组 * https://blog.52itstyle.vip */ @PostMapping("array") public Result array(@RequestParam(value = "ids[]") Integer[] ids) { logger.info("数据{}", Arrays.asList(ids)); //业务逻辑 return Result.ok(); }传递集合
/** * 集合 */ @PostMapping("array") public Result array(@RequestParam(value = "ids[]") List<Integer> ids) { logger.info("数据{}", ids.toString()); //业务逻辑 return Result.ok(); }传递集合实体对象
var list = []; list.push({ "username": "小柒2012", "mobile": "17762288888" }); list.push({ "username": "堆代码", "mobile": "18232289999" }); $.ajax({ url: "/sys/listUser", data: JSON.stringify(list), type: "post", contentType: "application/json", dataType: "json", success: function(data) { } });后端代码:
/** * 堆代码 * https://www.duidaima.com */ @PostMapping("listUser") public Result listUser(@RequestBody List<SysUser> list) { logger.info("数据{}", list.size()); list.forEach(user->{ //输出实体对象 System.out.println(user.getUsername()); }); //业务逻辑 return Result.ok(); }
var roleList = []; roleList.push({ "roleSign": "admin", "roleName": "管理员" }); roleList.push({ "roleSign": "user", "roleName": "普通用户" }); var list = []; var user = { "username": "堆代码", "mobile": "18862288888" }; user.roleList = roleList; list.push(user); $.ajax({ url: "/sys/listUserRole", data: JSON.stringify(list), type: "post", contentType: "application/json", dataType: "json", success: function(data) { } });后端实现:
/** * 堆代码 * https://www.duidaima.com */ @PostMapping("listUserRole") public Result listUserRole(@RequestBody List<SysUser> list) { logger.info("数据{}", list.size()); list.forEach(user->{ List<SysRole> roleList = user.getRoleList(); roleList.forEach(role->{ System.out.println(role.getRoleName()); }); }); return Result.ok(); }
String user = parseMap.get("user").toString(); SysUser sysUser = JSON.parseObject(user,SysUser.class); String contractClause = parseMap.get("rules").toString(); List<Rule> ruleList = JSON.parseArray(contractClause,Rule.class);
/** * 堆代码 * https://www.duidaima.com */ @GetMapping("article/{id}") public void article(@PathVariable("id") String id) { logger.info("文章{}",id); //业务逻辑 }
JSON.stringify() 把对象类型转换为字符串类型,一般配合 @RequestBody 注解和contentType 类型application/json使用。
<form action="/upload" method="post" enctype="multipart/form-data"> <input type="text" name="description" value="堆代码 程序员常去的网站"> <input type="file" name="myFile"> <button type="submit">Submit</button> </form>