Questions tagged «resttemplate»

将此标记用于Spring的RestTemplate,这是用于客户端HTTP通信和RESTful原则实施的类。

27
Spring RestTemplate-如何启用请求/响应的完整调试/日志记录?
我使用Spring RestTemplate已经有一段时间了,当我尝试调试它的请求和响应时,我总是碰壁。我基本上希望看到的东西与打开“ verbose”选项时使用curl时看到的东西相同。例如 : curl -v http://twitter.com/statuses/public_timeline.rss 将同时显示已发送的数据和已接收的数据(包括标题,cookie等)。 我已经检查了一些相关的帖子,例如: 如何在Spring RestTemplate中记录响应? 但是我还没有解决这个问题。 一种方法是实际更改RestTemplate源代码并在其中添加一些额外的日志记录语句,但是我发现这种方法确实是不得已的事情。应该有某种方式告诉Spring Web Client / RestTemplate以更友好的方式记录所有内容。 我的目标是能够使用以下代码执行此操作: restTemplate.put("http://someurl", objectToPut, urlPathValues); 然后在日志文件或控制台中获取相同类型的调试信息(与curl相同)。我相信这对于使用Spring RestTemplate并有问题的任何人都将非常有用。使用curl调试RestTemplate问题根本无法正常工作(在某些情况下)。


5
如何在Spring RestTemplate请求上设置“ Accept:”标头?
我想Accept:在使用Spring的请求中设置的值RestTemplate。 这是我的Spring请求处理代码 @RequestMapping( value= "/uom_matrix_save_or_edit", method = RequestMethod.POST, produces="application/json" ) public @ResponseBody ModelMap uomMatrixSaveOrEdit( ModelMap model, @RequestParam("parentId") String parentId ){ model.addAttribute("attributeValues",parentId); return model; } 这是我的Java REST客户端: public void post(){ MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>(); params.add("parentId", "parentId"); String result = rest.postForObject( url, params, String.class) ; System.out.println(result); } 这对我有用;我从服务器端获取了JSON字符串。 我的问题是:我怎么可以指定Accept:报头(例如application/json,application/xml,...),并请求方法(例如GET,POST,...)当我使用RestTemplate?

4
如何使用Spring RestTemplate发布表单数据?
我想将以下(工作)curl代码段转换为RestTemplate调用: curl -i -X POST -d "email=first.last@example.com" https://app.example.com/hr/email 如何正确传递email参数?以下代码导致404 Not Found响应: String url = "https://app.example.com/hr/email"; Map<String, String> params = new HashMap<String, String>(); params.put("email", "first.last@example.com"); RestTemplate restTemplate = new RestTemplate(); ResponseEntity<String> response = restTemplate.postForEntity( url, params, String.class ); 我试图在PostMan中制定正确的调用,并且可以通过在主体中将email参数指定为“ form-data”参数来使其正常工作。在RestTemplate中实现此功能的正确方法是什么?

14
通过REST中的RestTemplate进行POST请求
我没有找到解决问题的示例,因此想向您寻求帮助。我不能简单地使用JSON中的RestTemplate对象发送POST请求 每当我得到: org.springframework.web.client.HttpClientErrorException:415不支持的媒体类型 我以这种方式使用RestTemplate: ... restTemplate = new RestTemplate(); List<HttpMessageConverter<?>> list = new ArrayList<HttpMessageConverter<?>>(); list.add(new MappingJacksonHttpMessageConverter()); restTemplate.setMessageConverters(list); ... Payment payment= new Payment("Aa4bhs"); Payment res = restTemplate.postForObject("http://localhost:8080/aurest/rest/payment", payment, Payment.class); 我怎么了
126 java  json  spring  rest  resttemplate 

8
Spring RestTemplate超时
我想为我的Web应用程序使用的rest服务设置连接超时。我正在使用Spring的RestTemplate与我的服务交谈。我进行了一些研究,发现并使用了下面的xml(在我的应用程序xml中),我认为这是为了设置超时。我正在使用Spring 3.0。 我在这里也看到了同样的问题,使用RestTemplate为Spring Web服务设置超时,但是解决方案看起来并不干净,我更愿意通过Spring config设置超时值 <bean id="RestOperations" class="org.springframework.web.client.RestTemplate"> <constructor-arg> <bean class="org.springframework.http.client.CommonsClientHttpRequestFactory"> <property name="readTimeout" value="${restURL.connectionTimeout}" /> </bean> </constructor-arg> </bean> 看来无论我将readTimeout设置为什么,都会得到以下信息: 网络电缆已断开连接: 等待约20秒,并报告以下异常: org.springframework.web.client.ResourceAccessException:I / O错误:主机没有路由:连接;嵌套的异常是java.net.NoRouteToHostException:没有路由到主机:connect 网址不正确,因此REST服务返回404: 等待大约10秒,并报告以下异常: org.springframework.web.client.HttpClientErrorException:找不到404 我的要求需要更短的超时,因此我需要能够更改这些超时。关于我在做什么错的任何想法吗? 非常感谢。

10
Spring Resttemplate异常处理
下面是代码片段;基本上,当错误代码不是200时,我正在尝试传播异常。 ResponseEntity<Object> response = restTemplate.exchange(url.toString().replace("{version}", version), HttpMethod.POST, entity, Object.class); if(response.getStatusCode().value()!= 200){ logger.debug("Encountered Error while Calling API"); throw new ApplicationException(); } 但是,如果来自服务器的响应为500,则会出现异常 org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94) ~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE] 我真的需要在尝试中包装其余模板交换方法吗?那么代码的目的是什么?

9
无法在Spring Boot应用程序中自动装配field:RestTemplate
我在启动过程中运行spring boot应用程序时遇到异常: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.client.RestTemplate com.micro.test.controller.TestController.restTemplate; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.web.client.RestTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this …

8
使用spring restTemplate的REST API的基本身份验证
我在RestTemplate中是全新的,基本上在REST API中也是如此。我想通过Jira REST API在我的应用程序中检索一些数据,但返回401未经授权。找到了有关jira rest api文档的文章,但实际上并不知道如何将其重写为java,因为该示例使用curl的命令行方式。我将不胜感激任何建议或建议如何重写: curl -D- -X GET -H "Authorization: Basic ZnJlZDpmcmVk" -H "Content-Type: application/json" "http://kelpie9:8081/rest/api/2/issue/QA-31" 使用Spring Rest模板导入Java。其中ZnJlZDpmcmVk是用户名:密码的base64编码的字符串。非常感谢你。

12
在Spring RestTemplate中禁用SSL证书验证
我在两个不同的机器上有两个基于Spring的Web应用程序A和B。 我想从Web应用程序A到Web应用程序B进行https调用,但是我在计算机B中使用了自签名证书。因此,我的HTTPS请求失败。 在Spring中使用RestTemplate时如何禁用https证书验证?我想禁用验证,因为Web应用程序A和B都在内部网络中,但是数据传输必须通过HTTPS进行

6
使用restTemplate发送带有身份验证标头的GET请求
我需要通过使用RestTemplate发送带有一些Authorization标头的GET请求来从服务器中检索资源。 浏览文档后,我注意到没有GET方法将标头作为参数接受,并且发送标头(例如accept和Authorization)的唯一方法是使用交换方法。 由于这是一个非常基本的动作,所以我想知道我是否缺少某些东西,还有另外一种更简单的方法吗?

4
Spring RESTTemplate的泛型
我有这样的课: public class Wrapper<T> { private String message; private T data; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public T getData() { return data; } public void setData(T data) { this.data = data; } } 我使用resttemplate如下: ... Wrapper<Model> response = restTemplate.getForObject(URL, …

2
使用RestTemplate的HTTP获取标头
如何使用Spring RestTemplate发送GET请求?其他问题已使用POST,但我需要使用GET。当我运行它时,该程序继续工作,但是似乎网络被阻塞了,因为它在AsyncTask中,当我单击该按钮后尝试运行另一个asynctask时,它们将无法工作。 我试着做 String url = "https://api.blah.com/2.0/search/cubes?w=jdfkl&whitespace=1"; MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>(); map.add("Bearer", accessToken); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); //copied this from somewhere else, not sure what its for HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers); HttpMessageConverter<String> stringConverter = new StringHttpMessageConverter(); FormHttpMessageConverter formConverter = new FormHttpMessageConverter(); …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.