‌Spring Boot中的@GetMapping注解可以用于处理HTTP GET请求,并且可以接收对象参数,详细示例

下面内容来自Ai回答,经过亲自验证,正确

**Spring Boot中的@GetMapping注解可以用于处理HTTP GET请求,并且可以接收对象参数。**‌

接收对象参数的基本方式

在Spring Boot中,可以通过@GetMapping注解接收对象参数,这通常通过@RequestParam或@RequestBody注解来实现。

  1. 使用@RequestParam注解 ‌:

    当请求的参数较少且为基本类型时,可以使用@RequestParam注解。例如,假设有一个用户类User:

    复制代码

    javaCopy Code

    public class User { private String name; private int age; // Getter和Setter方法 }

    可以通过@GetMapping方法接收User对象的基本信息:

    复制代码

    javaCopy Code

    @GetMapping("/user") public String getUser(@RequestParam String name, @RequestParam int age) { User user = new User(); user.setName(name); user.setAge(age); return "User name: " + user.getName() + ", age: " + user.getAge(); }

  2. 使用@RequestBody注解 ‌:

    当需要传递复杂对象时,可以使用@RequestBody注解。例如,假设有一个查询参数类YxStoreProductQueryParam:

    复制代码

    javaCopy Code

    @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "YxStoreProductQuery对象", description = "商品表查询参数") public class YxStoreProductQueryParam extends QueryParam { private int page; private int limit; private int sid; private int cid; private int news; private String priceOrder; private String salesOrder; private String keyword; private Integer brandId; }

    可以通过@GetMapping方法接收这个对象:

    复制代码

    javaCopy Code

    @GetMapping("/products") public ApiResult<?> goodsList(YxStoreProductQueryParam productQueryParam) { return ApiResult.ok(storeProductService.getGoodsList(productQueryParam)); }

    这样,整个对象会被自动映射到请求体中的JSON或表单数据。

示例代码和解释

以下是一个使用@GetMapping接收对象参数的完整示例:

复制代码

javaCopy Code

@GetMapping("/example3") public void example3(SubTest1 subTest1) { System.out.println(subTest1); // SubTest1{content='测试内容'} }

在这个例子中,SubTest1是一个简单的JavaBean,包含一个content属性。当访问/example3?content=测试内容时,Spring会自动将查询字符串中的content=测试内容映射到SubTest1对象的content属性上。

相关推荐
上进小菜猪44 分钟前
基于 YOLOv8 的面向文档智能处理的表格区域检测系统 [目标检测完整源码]
后端
oak隔壁找我1 小时前
JVM常用调优参数
java·后端
IT_陈寒4 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
晨星shine5 小时前
GC、Dispose、Unmanaged Resource 和 Managed Resource
后端·c#
蝎子莱莱爱打怪5 小时前
OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解
java·后端·ai编程
倚栏听风雨6 小时前
【ES避坑指南】明明存的是 "CodingAddress",为什么 term 查询死活查不到?彻底搞懂 text 和 keyword
后端
程序员爱钓鱼6 小时前
Go 操作 Windows COM 自动化实战:深入解析 go-ole
后端·go·排序算法
回家路上绕了弯6 小时前
深入解析Agent Subagent架构:原理、协同逻辑与实战落地指南
分布式·后端
子玖6 小时前
实现微信扫码注册登录-基于参数二维码
后端·微信·go
IT_陈寒6 小时前
JavaScript代码效率提升50%?这5个优化技巧你必须知道!
前端·人工智能·后端