当前位置: 首页 > 面试题库 >

Spring RestTemplate GET与参数

金赤岩
2023-03-14
问题内容

我必须打一个REST电话,其中包含自定义标头和查询参数。我只设置HttpEntity标题(没有正文),并且使用RestTemplate.exchange()如下方法:

HttpHeaders headers = new HttpHeaders();
headers.set("Accept", "application/json");

Map<String, String> params = new HashMap<String, String>();
params.put("msisdn", msisdn);
params.put("email", email);
params.put("clientVersion", clientVersion);
params.put("clientType", clientType);
params.put("issuerName", issuerName);
params.put("applicationName", applicationName);

HttpEntity entity = new HttpEntity(headers);

HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class, params);

这在客户端失败,dispatcher servlet因为无法将请求解析为处理程序。调试完成后,似乎没有发送请求参数。

当我POST使用请求正文与无查询参数进行交换时,它工作正常。

有人有什么想法吗?


问题答案:

好的,所以我是个白痴,并且混淆了查询参数和url参数。我有点希望能有一种更好的方法来填充我的查询参数,而不是一个丑陋的串联字符串,但是我们已经有了。这只是使用正确参数构建URL的一种情况。如果您将其作为String传递,Spring还将为您处理编码。



 类似资料:
  • 我们用过的一些内置函数携带参数,即你提供给函数让它工作的一些值。比如,如果你想计算一个数的正弦值,你需要指定这个数是多少。因此sin函数使用一个double值作为参数。 一些函数携带一个以上的参数,如pow携带两个double参数,分别作为底数和幂。 注意,在所有这些例子中,我们不仅要指定参数的个数,还要指定参数的类型。所以当你写一个类定义时,发现参数列表指定了每个参数的类型,这应该没什么奇怪的。

  • 问题内容: 我一直在互联网上搜索,但似乎找不到任何能解释我的问题的信息(可能是因为我没有使用正确的搜索字符串),所以我在这里发帖希望有人可以帮助我有了这个。(我的程序是使用Visual Studio 2010编写的C#代码) 我注意到在C#中,有多种构造SQL命令的方法。 到目前为止,我没有任何问题。我遇到的问题是。我在我的代码(/ / / )中使用了几个不同的命令,但让我们举个例子。 上面两个示

  • 问题内容: 我想知道是在URL中使用矩阵还是查询参数。我发现对该主题的较早讨论并不令人满意。 例子 带有查询参数的URL:http://some.where/thing?paramA = 1&paramB = 6542 带有矩阵参数的URL:http://some.where/thing; paramA = 1; paramB = 6542 乍看之下,矩阵参数似乎只有优点: 更具可读性 不需要对X

  • 2. 传入参数与传出参数 如果函数接口有指针参数,既可以把指针所指向的数据传给函数使用(称为传入参数),也可以由函数填充指针所指的内存空间,传回给调用者使用(称为传出参数),例如strcpy的src参数是传入参数,dest参数是传出参数。有些函数的指针参数同时担当了这两种角色,如select(2)的fd_set *参数,既是传入参数又是传出参数,这称为Value-result参数。 表 24.1.

  • 可以先去 RoadMap 内了解下开发任务及未来规划。 准备工作 贡献代码前需要先了解 git 工具的使用和 GitHub 网站的使用。 git 工具用法可以查看 git官方书籍,需要阅读前几章来熟悉。 git 协作流程可以查看这篇文章 Git协作流程 GitHub 贡献代码流程 提交issue 不论您是修复 SOFADashboard 的 bug 还是新增 SOFADashboard 的功能,在

  • 开发 我们欢迎广大开发者贡献大家的智慧,让我们共同让它变得更完美. 开始之前 请严格遵循以下代码标准: PSR-2. 使用 4 个空格作为缩进。 流程 Fork overtrue/wechat 到本地. 创建新的分支: $ git checkout -b new_feature 编写代码。 Push 到你的分支: $ git push origin new_feature 创建

  • 非常感谢你参与Gitbook的贡献! 发送反馈 如果您在使用GitBook工作的时候,有一些使用上的问题, 我们的产品虽然有很完善的测试来保证质量,但是不能绝对避免您在使用GitBook的时候遇到一些问题,这个时候,需要你到了GitbookIO/feedback 频道来提交你使用产品时的一些反馈。 错误报告 如果您使用GitBook的时候,遇到任何异常的情况,可以随时在这个文档中提交一个新的问题!

  • Hyperf 是一个开源项目,一个开源项目的发展离不开开源社区的力量支持,如果您希望参与 Hyperf 的开发,可以先从 issues 开始,通常来说会有以下的一些步骤: 关注 issues 的动态,评论回复帮助提出疑问的用户; 根据 issues 的内容,找寻根据自己当前对 Hyperf 的了解程度,去修复力所能及的 BUG 或实现功能,并以 Pull Request 的形式提交至 hyperf