RestTemplate、Spring 启动、POST

Posted

技术标签:

【中文标题】RestTemplate、Spring 启动、POST【英文标题】:RestTemplate, Spring boot , POST 【发布时间】:2018-12-15 11:04:42 【问题描述】:

我在 localhost:8086/addMessage 有一个 rest api,当我使用 POSTMAN 测试它时它可以工作。但是当我想在客户端集成这个 api 时,它会返回:

java.net.URISyntaxException: Expected scheme-specific part at index 10: localhost:
    at java.net.URI$Parser.fail(URI.java:2848) ~[na:1.8.0_171]  error:

这是我调用api的方法:

  public void addOrder(Message orders) throws  Exception
      RestTemplate restTemplate = new RestTemplate();
      String resp = restTemplate.postForObject(
                "localhost:8086/addMessage",
                orders,
                String.class);    
    

我该如何解决。

【问题讨论】:

【参考方案1】:

将“http”方案添加到您的网址,

http://localhost:8086/addMessage

【讨论】:

【参考方案2】:

如果你使用 localhost 然后像这样传递 url - http://localhost:8080/api/notes 定义方案很重要(http/https) 也不要使用空间。 对于您的问题,答案应该是- http://localhost:8086/addMessage

【讨论】:

【参考方案3】:

http://https:// 方案添加到 URL 对我有用

restTemplate.postForObject("http://localhost:8086/addMessage", orders, String.class); 

restTemplate.postForObject("https://localhost:8086/addMessage", orders, String.class);  

感谢@stacker 和@Shubham

【讨论】:

以上是关于RestTemplate、Spring 启动、POST的主要内容,如果未能解决你的问题,请参考以下文章

Spring RestTemplate实现服务间的远程调用完整代码示例

Spring的RestTemplate

Spring Cloud 数据流 - 休息客户端 - 覆盖 RestTemplate

RestTemplate 负载均衡原理

spring RestTemplate提交json格式数据

Spring WebClient vs. RestTemplate