axios简单封装post请求springboot接收参数的写法(两种)

5,374 阅读1分钟

一、Json字符串

前端application/json,上传json字符串,后端使用Map或者对象接收

前端代码:

/*const data = {
  "loginId": username,
  "pwd": pwd
}*/

//封装post请求
export function post(url, data = {}) {
  //默认配置
  let sendObject={
    url: url,
    method: 'post',
    dataType: "json",
    headers: {
      'Content-Type':'application/json;charset=UTF-8'
    },
    data:JSON.stringify(data)
  };
  return service(sendObject)
}

后端代码:

    /**
     * 登陆
     * @param request
     * @return
     */
    @PostMapping("/login")
    public Object login(@RequestBody Map<String,Object> map, HttpServletRequest request){
        String loginId = (String) map.get("loginId");
        String password = (String) map.get("pwd");
}

或者

    /**
     * 登陆
     * @param request
     * @return
     */
    @PostMapping("/login")
    public Object login(@RequestBody User user, HttpServletRequest request){
        System.out.println(user);
}

二:Form Data

前端代码:

需要引入 qs

import qs from 'qs';

/*const data = {
  "loginId": username,
  "pwd": pwd
}*/

//封装post请求
export function post(url, data = {}) {
  //默认配置
  let sendObject={
    url: url,
    method: 'post',
    data:qs.stringify(data)
  };
  return service(sendObject)
}

后端代码:

Utils.getParameters(request)是自己封装的从request获取所有参数,可以自己从网上找个

    /**
     * 登陆
     * @param request
     * @return
     */
    @PostMapping("/login")
    public Object login(HttpServletRequest request){
        CommonMap parameters = Utils.getParameters(request);
        String loginId = parameters.get("loginId");
        String password = parameters.get("pwd");
}