当前位置: 首页 > 知识库问答 >
问题:

使用Rest模板进行Spring Boot微服务通信

马哲
2023-03-14
@GetMapping("/name")
    public Product name(){//@PathVariable String name){
        RestTemplate restTemplate = new RestTemplate();
       Product x = restTemplate.getForObject("http://localhost:8081/products", Product.class);
       return x;
    }

共有1个答案

韩智明
2023-03-14

你得到的不是一个单一的产品,而是一系列的产品。

所以你必须使用

ResponsEntity<Product[]> response = restTemplate.getForObject("http://localhost:8081/products", Product[].class);
Product[] products = response.getBody();

但我认为这不是您想要的,并且我假设名称将是restendpoint的查询参数。所以你必须这样传递名字:

@GetMapping("/name")
public Product name(){@PathVariable String name){
  RestTemplate restTemplate = new RestTemplate();
  Product x = restTemplate.getForObject("http://localhost:8081/products?name=" + name, Product.class);
  return x;
}
 类似资料:
  • 嗨,我有一个restendpointxyz。com/test/create,其中预期的内容类型为application/json,内容为 在具有数组的body中还有一些其他字段。 我在Spring rest控制器中使用rest模板来访问上述endpoint,我还想传递数据。我不确定endpoint端使用什么域模型将json中的数据从客户端映射到服务器端。 如何使用rest模板使用上述数据命中上述e

  • 我需要使用rest模板使用以下详细信息进行post调用: 我需要发送带有4/5个参数的json,需要为内容类型和接受设置标题,并使用be post设置方法。 您可以帮助我使用示例代码来创建json对象、设置头并进行post调用吗

  • 我正在寻找一个最佳实践和高效的解决方案,以确保通过REST与Web客户端应用程序通信的多个微服务的安全。 当前设置: 这些微服务是用Java制作的,带有Spring框架,并运行在Docker容器中。 客户端是一个Angular 2应用程序。 我创建了一个新的µ服务,它将充当“网关”,是我的web客户端和其他服务之间的唯一通信点。 我从远程身份验证API检索JWT加密令牌(让我们称之为LOCK) 我

  • 我将使用Laravel框架构建micrservices。我有用户微服务,它处理客户端凭证并验证它们(为客户端创建JWT)。此外,还有另一种需要用户认证的微服务。 问题是,如果秘密访问令牌密钥仅在用户微服务中,我如何验证客户端在微服务(用户微服务除外)中的访问令牌?或者,我应该在每个微服务中保留密钥吗?

  • 我实际上在研究微服务,我面临一个问题。 上下文 我正在开发两个微服务: 用户管理,基于spring,使用MySQL数据库 计划管理,基于ASP.NET与SQL Server数据库。此服务的唯一访问点是列出一些RESTFULendpoint的API,如 计费管理,基于MongoDB的node.js。 问题 > 我该怎么做才能只允许通过用户服务访问规划信息,而不耦合这两个服务?知道以后可以从其他地方访

  • 对于一个项目,我想使用Spring Boot设置一个小型微服务场景,其中有一个向客户端公开REST和GraphQL的API网关、一个Eureka服务注册表和三个服务。由于性能原因,我希望API网关后面的所有服务都可以谈论gRPC,但同时仍然会公开一个额外的REST API。有没有一种干净的方法可以在相同的业务逻辑上实现这两种类型的接口?网关如何将客户端的HTTP请求代理到gRPC请求?