• 作者:老汪软件
  • 发表时间:2024-01-11 15:00
  • 浏览量:

Boot 中常用的注解@

@ 是 和 Boot 中常用的注解之一,用于从请求中获取参数值。它通常用于处理 HTTP 请求中的查询参数(query )或表单数据。下面详细解释 @ 的用法:

@ 的主要用法如下:

基本用法:

使用 @ 注解,您可以将请求中的参数绑定到方法的参数。例如,假设您有一个请求 URL ,您可以使用 @ 来获取 id 参数的值:

@GetMapping("/api/user")
public String getUserInfo(@RequestParam("id") int userId) {
    // 使用 userId 值来执行操作
    return "User ID: " + userId;
}

在这个示例中,@("id") 用于将 HTTP 请求中名为 id 的参数的值绑定到 方法参数上。

默认值:

您可以为 @ 指定一个默认值,以便在参数未出现在请求中时使用默认值:

@GetMapping("/api/user")
public String getUserInfo(@RequestParam(name = "id", defaultValue = "1") int userId) {
    // 如果请求中没有 id 参数,userId 将默认为 1
    return "User ID: " + userId;
}

多个参数:

您可以使用多个 @ 注解来获取多个参数值:

@GetMapping("/api/user")
public String getUserInfo(@RequestParam("id") int userId, @RequestParam("name") String userName) {
    // 使用 userId 和 userName 执行操作
    return "User ID: " + userId + ", User Name: " + userName;
}

Map 接收多个参数:

如果您不知道参数的名称或希望一次接收多个参数,可以将参数封装到一个 Map 中:

@GetMapping("/api/user")
public String getUserInfo(@RequestParam Map params) {
    String id = params.get("id");
    String name = params.get("name");
    // 使用 id 和 name 执行操作
    return "User ID: " + id + ", User Name: " + name;
}

数组接收多个参数:

您还可以将多个参数绑定到数组或列表中:

@GetMapping("/api/users")
public String getUsersInfo(@RequestParam("id") int[] userIds) {
    // userIds 是一个整数数组,包含了请求中的所有 id 参数值
    return "User IDs: " + Arrays.toString(userIds);
}

总之,@ 注解是用于从 HTTP 请求中获取参数值的非常有用的注解,它允许您轻松地处理查询参数或表单数据,并将它们绑定到方法的参数上,以便在 Boot 应用程序中进行处理。