java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot接口参数接收指南

SpringBoot接口参数接收指南:从URL到请求体,4种方式一次掌握

作者:碎碎念...

还在为SpringBoot如何接收前端参数发愁吗?本文用简单示例带你快速掌握@PathVariable、@RequestParam、@RequestHeader和@RequestBody这四种常用注解,搞懂从URL路径到请求体的参数获取方式,让你的前后端分离开发更高效

前言

当前后端分离已成为主流开发模式,前端如何向后端传递参数,是每个 Spring Boot 开发者必须掌握的技能。

本文将带你快速掌握 Spring 中最常见的四种参数接收方式,并通过简单示例一一拆解它们的使用场景与差异。

1. Request 简介

在正式介绍注解之前,我们先快速了解一下 HTTP 请求的数据结构。

一个典型的 HTTP 请求由三部分组成:

四种注解的本质就是从这些不同部分中提取参数。

2. 四种方式速览

Spring Boot 接收前端数据的常见方式包括:

后文将依次介绍这四种方式的使用方法及适用场景。

3.@PathVariable注解

用于接收 URL 路径中的变量,例如 /user/{id}。常用于 RESTful 风格接口。

示例:

@GetMapping("/user/{id}")
public String getUser(@PathVariable Long id) {
    return "User ID: " + id;
}

4.@RequestHeader注解

用于接收请求头中的参数,常用于读取 Token、User-Agent 等。

示例:

@GetMapping("/device")
public String getDevice(@RequestHeader("User-Agent") String userAgent) {
    return "User-Agent: " + userAgent;
}

5.@RequestParam注解

用于接收 URL 中的查询参数或表单提交的数据,常见于 GET 或表单 POST 请求。

示例:

@GetMapping("/search")
public String search(@RequestParam String keyword) {
    return "Searching: " + keyword;
}

对于 GET 请求,查询参数拼接在 URL 路径后;对于 Content-Typeapplication/x-www-form-urlencoded 的 POST 请求,表单数据以键值对形式编码放在请求体中。

使用 @RequestParam 注解可以方便地接收这两类参数。

6.@RequestBody注解

用于接收请求体中的 JSON 或 XML 数据,通常用于 POST/PUT 请求配合实体类使用。

示例:

@PostMapping("/login")
public String login(@RequestBody User user) {
    return "Welcome " + user.getUsername();
}

GET 请求没有请求体,不能使用 @RequestBody 接收参数。对于 Content-Typeapplication/json 的 POST/PUT 请求,@RequestBody 可用于接收请求体中的 JSON 数据。

一个方法中只能有一个 @RequestBody 注解,通常使用 Java Bean、DTO 或 Map 来接收整体结构化数据。

7. 总结

本文通过示例梳理了 Spring Boot 接收前端数据的四种常用注解。选用哪种方式,取决于你的业务场景和前端的请求结构:

掌握这些基础注解,能够帮助你更高效地开发 Web 接口,构建清晰、规范的 API。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文