GET请求的I/O错误

4
我正在使用Gradle进行API开发,遇到了以下错误:
Exception in thread "main" org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8080/SpringBootRestApi/api/user/":Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:580)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:530)
    at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:237)
    at com.websystique.springboot.SpringBootRestTestClient.listAllUsers(SpringBootRestTestClient.java:21)
    at com.websystique.springboot.SpringBootRestTestClient.main(SpringBootRestTestClient.java:74)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
    at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:81)
    at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
    at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:569)
    ... 4 more

2
看起来URL中指定的任何地址都到达了一个拒绝连接的设备或服务器。这通常可能是由于几个问题造成的:(1)地址上没有服务器,(2)防火墙阻止请求到达服务器进程,(3)有一个服务器,但由于其设置,服务器拒绝了请求,(4)存在一个服务器并且已设置为接受请求,但地址不正确,例如指定了错误的端口号。 - Richard Chambers
如果没有附加信息,例如目标服务器的描述以及源代码示例,则很难看出问题所在。 - Richard Chambers
1个回答

8

我曾遇到类似的问题,连接spring web服务时。它运行在localhost:8080上,当我将localhost改为实际的IP地址时,它就正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接