What is `@RequestParam` does?

@RequestParamSpringMVC框架中的注解,主要将Controller方法参数HTTP请求中的参数进行绑定。当客户端发起一个HTTP请求时,可以通过该注解将请求中的查询参数表单数据映射到Controller方法形参

使用

查询参数

/example?myParam=value

@GetMapping("/example")
public String handleRequest(@RequestParam("myParam") String myValue) {
    // ...
    return "success";
}
# 等价写法
@GetMapping("/example")
public String handleRequest(@RequestParam(value = "myParam") String myValue) {
    // ...
    return "success";
}

# 追加是否必填选项
@GetMapping("/example")
public String handleRequest(@RequestParam(value = "myParam", required = false) String myValue) {
    // ...
    return "success";
}

# 追加默认值选项
@GetMapping("/example")
public String handleRequest(@RequestParam(value = "myOptionalParam", required = false, defaultValue = "defaultVal") String myValue) {
    // ...
    return "success";
}

接收数组类型的查询参数

 /search?keywords=keyword1&keywords=keyword2 
 
@GetMapping("/search")
public String search(@RequestParam("keywords") String[] keywords) {
    // ...
    return "success";
}

绑定POST表单数据

#当提交一个包含 username 和 password 字段的HTML表单时

@PostMapping("/login")
    public String login(@RequestParam("username") String username, @RequestParam("password") String password) {
        // 验证用户名和密码,并执行登录逻辑
        if (userService.authenticate(username, password)) {
            return "dashboard";
        } else {
            return "login/error";
        }
    }

你可能感兴趣的:(SpringBoot,java)