比如我要接收图片中的二维数组,是个复杂对象。
1. 如果不适用前端Json序列化,后端接收反序列化这种方案的话。应该如何接收
public class UserModel {
private List users;
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public UserModel(List<User> users) {
super();
this.users = users;
}
public UserModel() {
super();
}
}
@RequestMapping(value = "/submitUserList", method ={RequestMethod.POST})
@ResponseBody
public String submitUserList(UserModel users)
throws Exception{
String result = "";
List userList = users.getUsers();
return null;
}
用这种方式可以接收到
/**
* 从request中把数据拿出来
* @param request
* @return
*/
public List<List<String>> getDataFromRequest(HttpServletRequest request) {
List<List<String>> data = new LinkedList<>();
Map<String, String[]> map = request.getParameterMap();
for(String k : map.keySet()) {
if(k.startsWith("data")) {
String[] ss = map.get(k);
List<String> list = Lists.newArrayList(ss);
data.add(list);
}
}
return data;
}
很久之前做过一次,数据是放在parameter中,序列化会按照上述格式进行序列化,可以从request中直接获取。
这种方式不够优雅,建议将数据序列化成json,然后放在http中的正文里,这样后端比较容易解析。
在controller 中直接用List来进行接收。可以参考https://blog.csdn.net/u011781521/article/details/77586688/
我当时的数据格式,如上图