Sac*_*hin 1 rest spring spring-boot spring-restcontroller
我有两个RestController用户和公司。
CompanyController:companies使用服务和回购级别从公司信息中获取并将其存储到表中。
UsersController : 用于获取和存储用户。
关系:每个用户都与公司相关联(用户有一个公司)。
当新人User注册时,我们需要通过 id 获取公司信息并与用户个人资料相关联。
为此,我在 中有一个端点CompanyController,名为getCompanyInfo。我必须在保存用户配置文件的同时调用该端点来获取公司数据。
如何在 Spring Boot 中从同一个应用程序调用另一个 API?
为什么不直接调用公司服务(如果两个控制器都存在于同一个应用程序中)?这将比调用公司控制器更快。
您的控制器将如下所示:
@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
}
}
Run Code Online (Sandbox Code Playgroud)
如果您仍然想直接调用 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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10333 次 |
| 最近记录: |