问题标签 [spring-resttemplate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
222 浏览

java - 如何使用 RestTemplate 发送 Gzip 请求?

我有以下带有大 pojo (MyRequest) 的代码,我想用 Gzip 发送它,但它无法到达接受 Gzip 请求的端点。我是否正确创建了 Gzip 请求?我需要将 pojo 作为文件发送吗?

请分享使用 RestTemplate 的 Gzip 编码示例,谢谢

0 投票
0 回答
46 浏览

spring-boot - 使用 webclient 和 @Async 异步调用 rest 客户端的区别

我打算异步调用 Web 休息端点。我应该使用 webclient 进行所有异步调用吗?或者我可以使用rest模板并用@Async注释方法。它是否仍会被异步调用。

观察 webclient 和 @async with rest 模板之间的区别。

0 投票
1 回答
54 浏览

spring-boot - 将 RestTemplate 响应转换为新格式(SpringBoot):正确的方法是什么?

我正在使用外部/第三方 api,并且我在我的 SpringBoot 应用程序中创建了一个端点,该端点当前通过 Spring REST API (RestTemplate) 返回其响应。我的最终目标是重新构建响应结构,为此我创建了实体和具有预期格式的新 Dto。

我不确定何时将现有的第三方 api 响应转换为自定义响应的正确方法。你能就此提出建议吗?我应该写一个 dto 到 dto 转换器吗?有什么我可以效仿的例子吗?这种转换会成为服务的一部分吗?非常感谢任何建议。

谢谢

0 投票
1 回答
42 浏览

java - Http 客户端的 SSL 配置

这个问题听起来我有点傻,但我在这里研究了很多问题/答案,但找不到适合我的案例的答案。

目前我正在使用RestTemplate 库为我目前正在处理的 java 库发出 HTTP 请求。为了成功地对 HTTPS URL 进行 HTTP 调用,我需要为我的 HTTP 客户端添加 SSL 配置。像这样的东西:

所以这个库应该作为 jar 可执行应用程序发送给用户,我知道使用自签名 SSL 证书对于一般用途来说不是一个好主意,因为可能有不承认它的 Web 服务器。我读到如果我获得了签名的 SSL 证书,那么我应该在 Keystore 上保存正确的密钥,并使用 Trustore 来确认服务器的证书。我认为我不能只将 Keystore 和 Trustore 传递给执行我的 java 库的客户端,所以我的问题是,Java 是否有内置的 SSL 证书,所以我可以以某种方式在 HTTP 客户端和内置的-in 证书将被使用。据我所知,node.js 提供了类似的东西。

谁能给我解释一下这对 java spring-boot 是如何工作的?

0 投票
1 回答
43 浏览

java - RestTemplate 的错误请求-> postForObject (Spring Boot)

我在一件简单的事情上遇到了一些麻烦。

我正在尝试向其他 REST 服务发送请求

我收到:

奇怪的是,当我使用简单的 CURL 调用并且工作顺利时。

已经检查了变量和端点,它是正确的。

0 投票
0 回答
35 浏览

spring-boot - 尝试通过仍然可以从浏览器和邮递员访问的其余模板访问 url 时抛出 UnknownHostException 的可能性是什么?

描述

我面临的情况是浏览器和邮递员可以成功访问 url,但是当我尝试在 spring-boot 中使用 rest 模板访问相同的 url 时会抛出 java.net.UnknownHostException 。这只发生在应用程序托管服务器中在新加坡。

但是相同的应用程序实例在我的本地电脑上工作正常(浏览器、邮递员和休息模板都可以成功访问)。

解决方法

我检查了 url 是否正确键入并且站点已启动并正在运行:尝试通过应用程序访问时一切正常。

需要很大的帮助,因为我不知道为什么这个站点只知道 spring boot 中的 rest 模板。

0 投票
1 回答
262 浏览

spring - 没有正文的 Spring RestTemplate POST 方法

我正在尝试编写一个客户端,我将在其中执行没有正文的 POST 方法。插入null的唯一解决方案是什么?例子:

0 投票
0 回答
345 浏览

java - 如何解决 Spring RestTemplate 的 NoHttpresponseException

我正在使用 RestTemplate 从我的 Spring 引导应用程序调用外部 REST API,如下所示:

在这里,在调用外部 API 时,间歇性地出现以下错误:

我正在使用这个RestTemplate from spring-web 5.2.9.RELEASE.

在这种情况下,我浏览了以下帖子:

  1. Apache HttpClient 临时错误:NoHttpResponseException。但它主要处理 HttpClient。
  2. Rest Template org.apache.http.NoHttpResponseException,在这里我也想不出如何解决这个问题RestTemplate

有人可以帮忙吗?

0 投票
0 回答
58 浏览

spring-boot - 使用 hystrix 以隔离策略作为线程包装时,Rest 模板需要大量时间

从几天开始,我正在尝试修复在使用 Spring 的 RestTemplate 调用远程服务时遇到的 HystrixTimeoutException。

所以,我有一个EmployeeServiceProxy类,该类具有getEmployeesInfo使用 进行远程服务调用RestTemplate并用HystrixCommand. 例如

而且,我getEmployeesInfo一次从另一个类中调用 100 个员工 ID。现在,实际员工获取 api(上面使用)的平均响应时间是< 1 sec.

当我在没有Hystrix annotation或使用Semaphore隔离策略的情况下运行上面的代码时,它会在几秒钟内快速响应。但是,如果我使用Thread隔离策略,那么它会给出HystrixTimeoutException.

我尝试添加一些带有时间信息的日志,例如calling getEmployeesInfoinside Hystrix getEmployeesInfo等。并且,发现该方法getEmployeesInfo在几毫秒内立即被调用,但是 resttemplate 需要大约 1 分钟的时间。

请注意,我已经为 resttemplate 配置了 readtimeout=2000 & connectTimeout=500。我在过去的项目中也使用过 Hystrix,但没有遇到这种行为。

感谢有关如何解决此问题的任何帮助。

0 投票
2 回答
214 浏览

jaxb - 将 RestTemplate 与 JAXB 注释一起使用:无法识别列表

我在应用程序服务器项目(不是 Spring Boot)中使用 RestTemplate 从端点获取实体。

实体 DTO(使用 JAXB 注释)是:

因此,在端点中,例如以这种方式返回实体:

我正在使用带有以下代码的 RestTemplate 对上一个端点执行 GET:

但是 RestTemplate 以这种方式解组实体:

但我期待:

任何人都知道如何使用 RestTemplate 识别 @XmlElementWrapper(name = "parameterNames") 注释?

提前致谢。