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实现服务间的远程调用完整代码示例