请求

未匹配的标注

请求参数注解

/**
 * 控制器方法内可用注解
 * @PathVariable   从 URL 路径中获取变量值
 * @RequestParam   从 URL 查询参数中获取值
 * @RequestBody    将请求体中的 JSON/XML 数据绑定到对象
 * @ModelAttribute 将请求参数绑定到模型对象(常用于表单提交)
 */

@GetMapping("/user/{user_id}")
public User getUser(@PathVariable Long user_id) {
    // 类似laravel $request->route('user_id')
}

@GetMapping("/search")
public User getUser(@RequestParam String keyword) {
    // domain.com/search?keyword=xiaoming
    // 类似laravel $request->query->get('keyword')
}

@PostMapping("/submit")
public String submitForm(@ModelAttribute UserForm userForm) {
    // 自动将表单字段映射到 userForm 对象
    return "result";
}

@PostMapping("/user")
public User createUser(@RequestBody User user) {
    // 将请求体中的 JSON 转为 User 对象
    return userService.save(user);
}

与请求交互

基本都在 jakarta.servlet.http.HttpServletRequest 这个类

获得请求IP

@RestController
public class IpController {

    @GetMapping("/ip")
    public String getClientIp(HttpServletRequest request) {
        String ipAddress = request.getRemoteAddr(); // 直接获取,可能返回代理 IP
        return "Client IP: " + ipAddress;
    }
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
唐章明
讨论数量: 0
发起讨论 查看所有版本


暂无话题~