一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2026-08-06 07:37:58 编辑:袖梨 来源:一聚教程网

SpringBoot接口参数接收指南:从URL到请求体,4种方式一次掌握的重点在于把前置条件、操作顺序和容易误判的地方分清楚。

前言

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

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

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

1. Request 简介

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

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

  1. 请求行:包括 URL 路径、方法(GET、POST)等;
  2. 请求头(Headers):携带客户端信息、Token 等;
  3. 请求体(Body):通常用于 POST/PUT 请求中,存放结构化数据(如 JSON)。

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

2. 四种方式速览

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

  1. @PathVariable:用于接收 URL 路径中的参数;
  2. @RequestParam:用于接收查询参数或表单数据;
  3. @RequestHeader:用于接收请求头中的信息;
  4. @RequestBody:用于接收 JSON 或 XML 格式的请求体数据。

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

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 接收前端数据的四种常用注解。选用哪种方式,取决于你的业务场景和前端的请求结构:

  1. URL 参数@PathVariable
  2. 查询参数 / 表单数据@RequestParam
  3. 请求头信息@RequestHeader
  4. JSON 请求体@RequestBody

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

热门栏目