前提一:SpringBoot整合MyBatis
前提二:SpringBoot返回值封装
1、Controller
层
/**
* 获取Form表单数据
* @return
*/
@PostMapping("/getForm")
public Result getForm(@RequestParam("name") String name, @RequestParam("age") int age) {
return Result.success(new StudentPo(name, age));
}
/**
* 获取Form表单数据(Map)
* @return
*/
@PostMapping("/getFormByMap")
public Result getFormByMap(@RequestParam Map<String, Object> map) {
String name = map.get("name") == null ? "" : (String)map.get("name");
Integer age = map.get("age") == null ? 0 : Integer.valueOf((String) map.get("age"));
return Result.success(new StudentPo(name, age));
}
/**
* 获取List
* @param names
* @param ages
* @return
*/
@PostMapping("/getList")
public Result getList(@RequestParam("name") List names, @RequestParam("age") List ages) {
for (Object name : names) {
System.out.println(name);
}
for (Object age : ages) {
System.out.println(age);
}
return Result.success();
}
/**
* 用对象获取Form
* @param po
* @return
*/
@PostMapping("/getObject")
public Result getObject(StudentPo po) {
return Result.success(po);
}
/**
* 用对象获取Json
* @param po
* @return
*/
@PostMapping("/getObjectJson")
public Result getObjectJson(@RequestBody StudentPo po) {
return Result.success(po);
}
2、测试
① 以单独参数来获取Form表单数据
http://localhost:8080/student/getForm
② 以Map的方式获取Form表单的数据
http://localhost:8080/student/getFormByMap
- 注意:当使用Map来接收时,要加上三元表达式,如上述方法中的:
否则如果前台没有传String name = map.get("name") == null ? "" : (String)map.get("name");
name
的值会出现报错。
当然用对象接收数据时不需要判断。
③ 接收List数据
http://localhost:8080/student/getList
④ 用对象接收数据(实际开发中经常会用到用实体类接收前端传来的数据,特别是Json格式的数据)
-
普通表单数据
http://localhost:8080/student/getObject
-
Json格式数据
http://localhost:8080/student/getObjectJson
-
GET类型的相关用法:SpringBoot-MyBatis基础用法