it编程 > 编程语言 > Java

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

15人参与 2026-08-03 Java

前言

当前后端分离已成为主流开发模式,前端如何向后端传递参数,是每个 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。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

您想发表意见!!点此发布评论

推荐阅读

java运行排错,新码旧jar问题及解决

08-03

Java集合框架常用API有哪些?List、Set、Map方法大全

08-03

Java异常处理怎么学?一文详解try catch finally使用技巧

08-03

SpringBoot拦截器怎么用?从入门到多拦截器链式调用详解

08-03

java comparable接口怎么用?内部比较器用法详解

08-03

Java字符串比较结果不同?常量池和==与equals的区别一次讲透

08-03

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论