RestTemplate使用java.net.UnknownHostException 解决

更多内容请浏览本人博客

在使用RestTemplate 时,直接使用

RestTemplate restTemplate = new RestTemplate();
ResponseEntity<QzhResult> responseEntity = restTemplate.getForEntity("http://MY-SERVER/token/{1}", String.class, "aa");

发现url只能填写项目地址,而不能填注册中心id,填id会爆如下错误:

org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://{myserver:port}/Thingworx/Things/{...}/Services/findUser":
 {myserver}; nested exception is java.net.UnknownHostException: {myserver}
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:607)
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557)
        at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:475)
        at spring.web.services.impl.AccountSerivceImpl.findUser(AccountSerivceImpl.java:115)
        at spring.web.controller.PageController.test(PageController.java:89)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)....

解决办法如下:
添加Javabean配置

    @Bean
    @LoadBalanced
    RestTemplate restTemplate(){
        return new RestTemplate();
    }

注入RestTemplate:

    @Autowired
    RestTemplate restTemplate;//定义为私有可能会报错

使用:


    ResponseEntity<QzhResult> responseEntity = restTemplate.getForEntity("http://MY-SERVER/token/{1}", String.class, "aa");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值