Вызовите конечную точку REST от другого - PullRequest
1 голос
/ 12 апреля 2019

У меня есть конечная точка REST, указанная ниже,

    @PutMapping("/calculateReward")
    public ResponseEntity<String> calculateReward(@RequestParam("userId") Long userId) {

        Optional<User> optional = userService.findById(userId);

        if (!optional.isPresent()) {
            return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
        }

        User user = optional.get();

        double reward = user.getCurrentSteps() * Parameters.REWARD_PER_STEPS_EUR;

        RewardList list = new RewardList();

        list.setUser(user);
        list.setReward(reward);

        user.setCurrentSteps(0);
        user.setRewardLists(list);

        userService.save(user);
        rewardListService.save(list);

        JSONObject json = new JSONObject();

        double convertionRateToEuro = currencyMap.get(user.getCurrencyName());
        double rewardConverted = reward * convertionRateToEuro;

        json.put("name", user.getName());
        json.put("currency", user.getCurrencyName());
        json.put("reward", rewardConverted);

        return ResponseEntity.status(HttpStatus.CREATED).body(json.toString());
    }

Банкомат. Я работаю в другой конечной точке, где мне нужно получить вознаграждение от конечной точки, указанной выше.

    @PostMapping("/paypal/make/payment")
    public ResponseEntity<String> paymentUsingPaypal(@RequestParam("userId") Long userId) {

        Optional<User> optional = userService.findById(userId);

        if (!optional.isPresent()) {
            return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
        }

        User user = optional.get();


        // How do I get the "reward" in double here?
    }

Как получить двойное «вознаграждение» от метода calculateReward в конце второго метода?

1 Ответ

1 голос
/ 12 апреля 2019

Если это одно и то же приложение, почему бы просто не вызвать:

nameOfController.calculateReward(userId);

Если вы не можете вызвать метод, вам придется написать клиент, используя, например, feign .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...