首页 > 解决方案 > Java中微服务之间通信时如何将RestTemplate转换为String

问题描述

我在这里尝试在两个微服务之间进行通信。我想从另一个微服务中读取一个微服务中写入的消息。我为此使用了 RestTemplate。但是当我尝试将其转换为字符串时,它不会出现。我得到这个'RestTemplate类型的方法交换(String,HttpMethod,HttpEntity<?>,Class,Object ...)不适用于参数(String,String,null,Class)'

@RequestMapping("/")
public String test(){
String a = restTemplate.exchange("http://localhost:8081/KDSystem/Testpro/pros", HttpMethod.GET,null,String.class).getBody().toString();
return a;
    }

任何关于如何做到这一点的想法将不胜感激。

标签: javaspringapirestmicroservices

解决方案


我建议你使用getForObject(URI url, Class<T> responseType)方法:

@RequestMapping("/")
public String test(){
  return restTemplate.getForObject("http://localhost:8081/KDSystem/Testpro/pros", String.class);
}

关于exchange(String, HttpMethod, HttpEntity<?>, Class, Object...) 根据异常文本的方法:您正在尝试传递 '(String, String, null, Class)' 但第二个参数应该是 HttpMethod。


推荐阅读