【线上商场】后端接收多个数据的处理办法

后端获取参数的不同方法

  • 几种不同方法

1. @RequestBody

  • POST
  • 参考链接:实践教程
  • 主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。
  • 在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

2. 用Bean方法获取参数

  • GET or POST
@Data
public static class UserDO {
    String user;
    String password;
}

@RequestMapping(path = "req4", method = RequestMethod.GET)
public String req4(UserDO userDO) {
    return "req4 userDO: " + userDO;
} 

测试case

// case1
http://127.0.0.1:8080/webs/demo/req4?password=123456&user=%E5%B0%8F%E7%81%B0%E7%81%B0Blog
// 输出: req4 userDO: DemoController.UserDO(user=小灰灰Blog, password=123456)

// case2
http://127.0.0.1:8080/webs/demo/req4?password=123456
// 输出: req4 userDO: DemoController.UserDO(user=null, password=123456)

例2: (1)建立一个和表单中参数对应的bean

package demo.model;

public class UserModel {
   
   private String username;
   private String password;
   public String getUsername() {
       return username;
   }
   public void setUsername(String username) {
       this.username = username;
   }
   public String getPassword() {
       return password;
   }
   public void setPassword(String password) {
       this.password = password;
   }
   
}

(2)用这个bean来封装接收的参数

/**
* 3、通过一个bean来接收
* @param user
* @return
*/
@RequestMapping("/addUser3")
public String addUser3(UserModel user) {
    System.out.println("username is:"+user.getUsername());
    System.out.println("password is:"+user.getPassword());
    return "demo/index";
}

问题:前端点击“提交订单”,然后给后端发送一大串数据,后端如何处理?

  • 可以用Bean方法获取参数。
  • 先不管用户的token,先用order中的数据把功能实现,后面再去替换token。

你可能感兴趣的:(线上商场,java,mysql)