Spring Cloud 接收FormData、JSON传参【数组、实体、文件】


一、FormData接收参数

实体类

import lombok.Data;
import java.io.Serializable;

@Data
public class User implements Serializable {
    private String username;
    private Integer age;
}

1、实体接收

请求html代码

后端接收代码

 /**
     * FormData接收(实体)
     * @param user
     * @return
     */
    @RequestMapping("/formDataModel")
    public String formDataModel(User user){
        return "OK";
    }

2、接收实体加文件

实体类

import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import java.io.Serializable;

@Data
public class User implements Serializable {
    private String username;
    private Integer age;
    private MultipartFile file;
}

请求html代码

后端接收代码

/**
     * FormData接收数组(实体+文件)
     * @param user
     * @return
     */
    @RequestMapping("/formDataModelAndFile")
    public String formDataModelAndFile(User user){
        return "OK";
    }

3、数组实体中包含文件

请求html代码

后端接收

 /**
     * FormData接收数组(数组中实体包含文件)
     * @param request
     * @param userForm
     * @return
     */
    @RequestMapping("/FormDataUser")
    public String testFormData(HttpServletRequest request,@ModelAttribute("userForm") UserVo userForm){
        System.out.println("111111=====================11111111");
        return "OK";
    }

实体

import lombok.Data;

import java.util.List;

@Data
public class UserVo {

    private List orders;
}
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import java.io.Serializable;

@Data
public class User implements Serializable {
    private String username;
    private Integer age;
    private MultipartFile file;
}

 二、JSON数组接收参数

postman请求参数,注:选择raw、JSON(application/json),和json格式的规范书写

后端接收代码,注:标签@RequestBody的使用

/**
     * JSON数组接收参数
     * @param list
     */
    @RequestMapping("testJson")
    public void testFast(@RequestBody List list){
        System.out.println("===================");
    }