方法参数结束

使用Controller方法参数接收,同时可以进行类型强制转换

  • @RequestParam()注解用于处理请求中参数名不符合驼峰命名的情况:

比如这样

/checking?token=12323435&pass_word=NewPassword

不能在Controller方法参数中写成String manager_name,这样不符合规范,而是

  @GetMapping("/checking")
  @ResponseBody
  public String checking(Long token, @RequestParam("pass_word") String pass) {
    Long token1 = token;
    return token1 + ": " + pass;
  }

这样就完成了请求参数到Controller方法参数的映射,managerName也可以是别的任意名称。
https://github.com/MingCaiXiong/spring-learn/commit/db2c2de48c792dda8386fea90f83c2ced030cf87

使用Java Bean接收请求参数:

问题:如果请求中参数过多,在处理方法里还要再通过很多个set方法给实体类赋值,再使用方法1会变得异常麻烦且难以管理。

  • 创建一个标准的Java Bean类,比如这里前台传回一个username,一个password参数,我们用
public class User {
    private Long token;
    private String password;
    ....
  • 在对应的Controller方法中参数不再使用方法1中那样,而是直接使用这个Java Bean,Spring MVC就会**自动创建user这个对象,并根据前面的请求的参数与Java Bean中的属性一一对应赋值,命名要规范且数字能正常转换。**
  // http://localhost:8080/user?token=12323435&password=NewPassword
  @GetMapping("/user")
  @ResponseBody
  public String login(User user) {
    return user.getToken() + user.getPassword();
  }

https://github.com/MingCaiXiong/spring-learn/commit/d51d5bc7a6487568185fe590726353237fc94034