当我尝试通过WebClient发送GET请求时,我已响应并出现错误io.netty.channel.AbstractChannel $ AnnotatedConnectException:连接被拒绝:localhost /
* WebClient初始化*
//hostname = "localhost/127.0.0.1:8081"
//contextPath = "user-service"
@Bean
public WebClient userWebclient(@Value("${service.user.hostname}") final String hostname,
@Value("${service.user.contextPath}") final String contextPath) {
return WebClient
.builder()
.baseUrl(hostname + contextPath)
.build();
}
*控制器*
private final WebClient userWebclient;
@GetMapping(value = "/user/{id}", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Mono<String> getUserById(@NotNull @PathVariable String userId) {
userWebclient.
return userWebclient.get()
.uri("/UserMock/user/" + userId)
.header("Accept", "application/json")
.header("Authorization", "Bearer =........")
.exchange()
.flatMap(response -> response.bodyToMono(String.class));
}
错误消息
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8081
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:665)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused
... 10 common frames omitted
答案 0 :(得分:1)
在主机中使用
hostname = "localhost:8081"
OR
hostname = "127.0.0.1:8081"
代替
hostname = "localhost/127.0.0.1:8081"
答案 1 :(得分:1)
检查您的地址是否正确,此错误可能是因为您的端口号不正确,例如8081,但应为8080