Конечная точка отдыха с CompletableFuture против конечной точки отдыха без CompletableFuture - PullRequest
0 голосов
/ 17 октября 2019

В чем разница между конечной точкой getPerson в PersonController и PersonController1 в приведенном ниже коде?

В этом конкретном случае, каковы преимущества использования CompletableFuture?

@RestController
public class PersonController {

    @Autowired
    private PersonService personService;


    @GetMapping("/persons/{personId}" )
    public CompletableFuture<Person> getPerson(@PathVariable("personId") Integer personId) {

        return CompletableFuture.supplyAsync(() -> personService.getPerson(personId));
    }
}
@RestController
public class PersonController1 {

    @Autowired
    private PersonService personService;


    @GetMapping("/persons/{personId}" )
    public Person getPerson(@PathVariable("personId") Integer personId) {

        return personService.getPerson(personId);
    }
}
@Service
public class PersonService {


    @Autowired
    PersonRepository personRepository;

    @Transactional
    public Person getPerson(int personId) {

        return personRepository.getPerson(personId);//this will get the data from the DB

    }
}
...