spring - 如何在 Spring RestController 方法中从请求中提取查询参数?
问题描述
网址:/api/v1/user ? 类型=abc & 公司=xyz
在 API 调用中,我们可以使用 @QueryParam 注解提取查询参数。但是,我们必须为映射定义查询参数键。
@QueryParam("type") String type
@QueryParam("company") String company
万一,我们有动态参数进来,比如 page=2 & limit=10 & skip=20 & type=abc ...我们正在使用休息客户端再次调用不同的服务。在这里,我们必须将请求中收到的所有查询参数传递给该服务。
我们如何读取这些查询参数并将其添加到请求中?
解决方案
您可以尝试使用 Map 并像这样定义查询参数。
@RequestParam Map<String,String> params
然后您可以在 params 映射中找到所需的变量,如下所示:
params.get("type");
然后,当您提出请求时,您可以为地图是否包含特定参数创建一些逻辑,然后使用它:)
当您在没有特定参数的情况下定义 @RequestParam 时,它将提取所有参数并注入到地图中。
推荐阅读
- java - 如何在启动器活动之前执行异步任务,如启动
- sql - Oracle SQL:当表中的记录存在时显示最大值
- laravel - React-Native 图像未通过 Content URI(react-native-camera)使用 Axios(MultiPart 表单数据)上传
- flutter - 我应该在哪里设置我的 Flutter 桌面应用程序的固定大小?
- php - Laravel 在 null 错误上调用成员函数 getName()
- angular - 覆盖 Angular 预定义的日期格式
- jenkins - 使用 Jenkins 脚本 (Groovy),我们可以为所有现有的 FreeStyle 项目自动化“添加构建步骤”吗?
- javascript - 是否存在与 CryptoJS 中 Jasypt-Library 的 AES256TextEncryptor 类等效的行为?
- c# - 自动化 SSRS 配置 C#
- tcp - Grafana:自己的控制面板