前提一: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基础用法

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐