gpt4 book ai didi

spring - 如何在 spring boot 中从同一个应用程序调用另一个 api

转载 作者:行者123 更新时间:2023-12-05 01:44:54 25 4
gpt4 key购买 nike

我有两个 RestController 用于用户和公司。

  • CompanyController:使用服务和 repo 级别从公司信息中获取信息并将其存储到 companies 表中。

  • UsersController :用于获取和存储用户。

  • 关系:每个用户都与公司相关联(用户有一家公司)。

当新的用户注册时,我们需要通过id获取公司信息并与用户个人资料相关联。

为此,我在 CompanyController 中有一个端点,名为 getCompanyInfo。我必须在保存用户配置文件的同时调用该端点来获取公司数据。

如何在 Spring Boot 中从同一个应用调用另一个 API?

最佳答案

为什么不直接调用公司服务(如果两个 Controller 都存在于同一个应用程序中)?它会比调用公司 Controller 更快。

你的 Controller 看起来像这样:

@RestController
public class UsersController {
@Autowired
private CompanyService companySerivce;

@RequestMapping("/register")
public ResponseEntity<User> registerUser(){
//Do whatever you want
CompanyInfo companyInfo = companyService.getCompanyInfo();
//Do whatever you want
}
}

如果你还想直接调用Company Controller,那么你可以这样做:

@RestController
public class UsersController {
@Autowired
private RestTemplate template;

@RequestMapping("/register")
public ResponseEntity<User> registerUser(){
ResponseEntity<CompanyInfo> companyInfoResponse = template.getForObject("Url for getCompanyInfo() method", CompanyInfo.class);
CompanyInfo companyInfo = companyInfoResponse.getBody();
//Do whatever you want
}
}

关于spring - 如何在 spring boot 中从同一个应用程序调用另一个 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44200692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com