Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在spring boot中调用多个服务的正确方法是什么_Java_Spring_Spring Boot_Rest - Fatal编程技术网

Java 在spring boot中调用多个服务的正确方法是什么

Java 在spring boot中调用多个服务的正确方法是什么,java,spring,spring-boot,rest,Java,Spring,Spring Boot,Rest,假设我有一个服务,允许用户给其他用户一些分数。因此,要向特定用户发送一些点,它需要知道哪个帐户将要发送,哪个帐户正在发送。因此,我创建了另一个服务,负责通过id查找帐户。一切正常,但我只是想知道这样做的正确方式或最佳实践是什么。我脑子里有三个策略 下面是它的样子: 让控制器调用帐户查找服务并将其传递给发件人服务 //控制器类中的方法 @请求映射(“/transactions”) 公共响应sendNuggerPoint(长senderId、长receiverId、长amountOfNugger){

假设我有一个服务,允许用户给其他用户一些分数。因此,要向特定用户发送一些点,它需要知道哪个帐户将要发送,哪个帐户正在发送。因此,我创建了另一个服务,负责通过id查找帐户。一切正常,但我只是想知道这样做的正确方式或最佳实践是什么。我脑子里有三个策略

下面是它的样子:

  • 让控制器调用帐户查找服务并将其传递给发件人服务
  • //控制器类中的方法
    @请求映射(“/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
  • 只需传递发送方和接收方Id,并让发送方服务调用帐户查找服务
  • //控制器类中的方法
    @请求映射(“/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