Java 在spring boot中调用多个服务的正确方法是什么
假设我有一个服务,允许用户给其他用户一些分数。因此,要向特定用户发送一些点,它需要知道哪个帐户将要发送,哪个帐户正在发送。因此,我创建了另一个服务,负责通过id查找帐户。一切正常,但我只是想知道这样做的正确方式或最佳实践是什么。我脑子里有三个策略 下面是它的样子:Java 在spring boot中调用多个服务的正确方法是什么,java,spring,spring-boot,rest,Java,Spring,Spring Boot,Rest,假设我有一个服务,允许用户给其他用户一些分数。因此,要向特定用户发送一些点,它需要知道哪个帐户将要发送,哪个帐户正在发送。因此,我创建了另一个服务,负责通过id查找帐户。一切正常,但我只是想知道这样做的正确方式或最佳实践是什么。我脑子里有三个策略 下面是它的样子: 让控制器调用帐户查找服务并将其传递给发件人服务 //控制器类中的方法 @请求映射(“/transactions”) 公共响应sendNuggerPoint(长senderId、长receiverId、长amountOfNugger){
//控制器类中的方法
@请求映射(“/transactions”)
公共响应sendNuggerPoint(长senderId、长receiverId、长amountOfNugger){
可选发件人=accountService.getAccountById(senderId);
可选接收方=accountService.getAccountById(接收方ID);
if(sender.isPresent()&receiver.isPresent()){
试一试{
transactionService.transferNuggerPointToAccount(sender.get()、receiver.get()、amountOfNugger);
}
捕获(不足NuggerPointe异常){
返回新的ResponseEntity(例如getMessage(),HttpStatus.BAD_请求);
}
}
返回新的响应属性(HttpStatus.BAD_请求);
}
//服务类中的一个方法
public void transferNuggerPointToAccount(帐户发送者帐户、帐户接收者帐户、长期帐户)引发的NuggerPointException{
//获取两个帐户yum-nugger
Long senderCurrentNugger=senderAccount.getNuggerPoint();
Long receiverCurrentNugger=receiverAccount.getNuggerPoint();
if(发送器电流Nugger
//控制器类中的方法
@请求映射(“/transactions”)
公共响应sendNuggerPoint(长senderId、长receiverId、长amountOfNugger){
if(sender.isPresent()&receiver.isPresent()){
试一试{
transactionService.transferNuggerPointToAccount(发送者ID、接收者ID、账户使用者);
}
捕获(不足NuggerPointe异常){
返回新的ResponseEntity(例如getMessage(),HttpStatus.BAD_请求);
}
}
返回新的响应属性(HttpStatus.BAD_请求);
}
//服务类中的一个方法
public void transferNuggerPointToAccount(长senderId、长receiverId、长amountOfNugger)抛出不足的NuggerPointException{
//获取两个帐户yum-nugger
可选发件人=accountService.getAccountById(senderId);
可选接收方=accountService.getAccountById(接收方ID);
if(sender.isPresent()&receiver.isPresent()){
Long senderCurrentNugger=sender.get().getNuggerPoint();
Long receiverCurrentNugger=receiver.get().getNuggerPoint();
if(发送器电流Nugger
//控制器类中的方法
@请求映射(“/transactions”)
公共响应性sendNuggerPoint(@RequestBody Transaction){
试一试{
transactionService.transferNuggerPointToAccount(transaction.getSender()、transaction.getReceiver()、transaction.GetAmootFnugger());
}
捕获(不足NuggerPointe异常){
返回新的ResponseEntity(例如getMessage(),HttpStatus.BAD_请求);
}
返回新的响应属性(HttpStatus.BAD_请求);
}
//服务类中的一个方法
public void transferNuggerPointToAccount(帐户发送者帐户、帐户接收者帐户、长期帐户)引发的NuggerPointException{
//获取两个帐户yum-nugger
Long senderCurrentNugger=senderAccount.getNuggerPoint();
Long receiverCurrentNugger=receiverAccount.getNuggerPoint();
if(发送器电流Nugger