java后台传参的格式

    • 前言
    • 使用工具
    • 具体代码
      • 1 传一个参数
      • 2 传多个参数
      • 3 传json格式的字符串
      • 4 传 map 集合
      • 5 传 文件
      • 6 传 对象
      • 7 传文件 + 参数(用对象)
      • 6 传文件 + 参数(不用对象)

前言

由于水平比较小白,对于传入的参数理解有些不太通透,因此总结一下,方便查阅

使用工具

idea,postman

具体代码

1 传一个参数

required = false表示可以不传参数,不传参数时用null代替,不是""空字符串,要用name == null判断,使用"".equals(name)无效,使用name.equals("")会报空指针异常。required 默认为 true

 @RequestMapping("/getInfo")
  public String  getInfo(
          @RequestParam(value = "userId", required = false) String userId){
   String response =  testFaceService.getInfo(userId);
   return response;   
      }

java后台传参的格式_第1张图片

2 传多个参数

 @RequestMapping("/getInfo")
  public String  getInfo(
          @RequestParam(value = "userId", required = false) String userId,
          @RequestParam(value = "name", required = false) String name){
   String response =  testFaceService.getInfo(userId, name);
   return response;   
      }

java后台传参的格式_第2张图片

3 传json格式的字符串

将 json 格式的字符串转换成 map 集合
JsonUtil.parse()方法的使用根据具体的工具类

 @RequestMapping("/getInfo")
  public String  getInfo(@RequestParam String params) throws  Exception{
        Map<String, String> param = new HashMap<>();
        if (!StringUtils.isEmpty(params)) {
            param = JsonUtil.parse(params, Map.class);
        }
        String response = testFaceService.find(param);
        return response;
    }

这里写图片描述

4 传 map 集合

@RequestBody

@RequestMapping("/getInfo")
public String  getInfo(@RequestBody  Map<String, Object> map) throws  Exception{
String userId = (String)map.get("userId");
      return userId ;
  }
//结果为 : 2

java后台传参的格式_第3张图片

@RequestParam

@RequestMapping("/getInfo")
public String  getInfo(@RequestParam  Map<String, Object> map) throws  Exception{
       String params = (String) map.get("map");
       JSONObject jsonObject = (JSONObject) JSON.parse(params );
      return jsonObject .getString("userId");
  }
//结果为:2
//传进去的是以map为键的集合,可以转换成json或怎样操作都可以: {map={"userId":"2"}}

java后台传参的格式_第4张图片`

5 传 文件

@RequestMapping(value = "/findByModel")
    public String  find(@RequestParam  MultipartFile files) throws  Exception{
    //直接将文件上传至某地
    files.transferTo(new File("E:\\test\\1.jpg"));
    //可以获取文件的名字
    files.getOriginalFilename();
    }

有的将 Multipart 文件这么转成 File 文件

 CommonsMultipartFile cf = (CommonsMultipartFile)files;
  //这个myfile是MultipartFile的
   DiskFileItem fi = (DiskFileItem) cf.getFileItem();
   File file = fi.getStoreLocation();
   String name = file.getName();

pom.xml

<dependency>
    <groupId>commons-fileuploadgroupId>
     <artifactId>commons-fileuploadartifactId>
     <version>1.3.1version>
 dependency>

java后台传参的格式_第5张图片

6 传 对象

7 传文件 + 参数(用对象)

6 传文件 + 参数(不用对象)

你可能感兴趣的:(传参)