您的主机中的软件中止了休息模板请求。

问题描述 投票:0回答:1

我试图使用 rest 模板在我的 Eureka Server 中注册的另一个名为 "user-service "的服务中打一个端点。另一个服务中的端点将从数据库中返回所有数据,如你所见。

@ResponseBody
@RequestMapping(method = RequestMethod.GET)
@ResponseStatus(value = HttpStatus.OK)
public Page<User> findAll() {
    return userRepository.findAll();
}

我的 "客户端服务 "试图使用 "用户服务 "的端点,代码如下: UserClient:

public List<UsuarioVo> getUsers(){
    HttpEntity headers = new HttpEntity(getHeaders());
    String url = urlUserClient + "/users";
    ResponseEntity<List<UserVo>> result= restTemplate.exchange(url, HttpMethod.GET, headers , new ParameterizedTypeReference<List<UserVo>>() {});
    return new ObjectMapper().convertValue(result.getBody(), TypeFactory.defaultInstance().constructCollectionType(List.class, UserVo.class));
}

private HttpHeaders getHeaders() {
    HttpHeaders headers = new HttpHeaders();
    headers.set("username", request.getHeader("username"));
    return headers;
}

ClientService:

@ResponseBody
@RequestMapping(value = "/users", method = RequestMethod.GET)
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@searchRole.hasPermission('GET')")
public ResponseEntity<List<ProdutividadeDTO>> getProdutividade(){
    List<UserVo> users = pessoaServiceClient.obterUsuarios();
}

当我点击enpoint时,我的 "用户服务 "在执行完所有sql代码后抛出一个异常。org.apache.catalina.connector.ClientAbortException: java.io.IOException: An established connection was aborted by the software in your host machine... Caused by: java.io.IOException: An established connection was aborted by the software in your host machine谁知道为什么会这样?

java spring-boot rest microservices resttemplate
1个回答
0
投票

我在本地解决了! 问题是,在我的项目中,我们使用了一个叫做OperationService的超级类,在这个类中,我们有所有通用的GET、POST、PUT、PATCH和DELETE调用。我在调用GET时没有任何特定的URL,例如:"Usersloadall",当我用这个URL建立一个名为 "loadAll "的端点并点击它时,在我的本地配置中,它完美地工作了。现在的问题是在我的服务器上,但这可能是其他问题。谢谢大家

© www.soinside.com 2019 - 2024. All rights reserved.