使用restTemplate调用其他微服务的相关问题
1.调用接口报feign.codec.DecodeException: Could not extract response: no suitable HttpMessageConverter found for response type and content type [application/atom+xml;charset=UTF-8]
是项目配置默认采用xml形式去调用其他服务,被调用服务无法解析参数报错,需要在调用的时候加上header,指定是用json传参。
2.restTemplate自动注入,下面是红线。
需要在启动类自定义一下restTemplate,打上@Bean和@LoadBalanced标签
具体代码如下吧,请参考使用。
下面展示一些 内联代码片。
@Bean
@LoadBalanced
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
String requestUrl = String.format("http://%s/%s", para.applicationName, para.serviceName);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity<String> request = new HttpEntity<>(para.createPara, headers);
return restTemplate.postForEntity(requestUrl, request, String.class).getBody();
这样就可以调用其他微服务了。
版权声明:本文为weixin_47303690原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。