Метод, использующий POST-запрос с Header и RequestBody, не вызывается в Spring Boot - PullRequest
0 голосов
/ 30 мая 2019

У меня есть контроллер с методом POST, подобным этому.

@RestController
@RequestMapping("/pay")
public class PayController {
    @Autowired
    ApplicationUserRepository applicationUserRepository;
    @Autowired
    PayRepository payRepository;
    @Autowired
    PayLogsRepo payLogsRepo;
    @Autowired
    PricingRepository pricingRepository;

    @PostMapping(value = "/callback",consumes = MediaType.APPLICATION_JSON_VALUE)
    private ResponseEntity<CustomResponse> callbackUrl(@RequestHeader("merchantId")String merchantId,@RequestHeader("merchantSecret")String merchantSecret,@RequestBody PayRequest payRequest){
        System.out.println("pay ref id "+payRequest.getTransactionDetails().getReferenceId());

        try{

            payRepository.save(payRequest);
            System.out.println("saving pay response");

        }catch (Exception e){
            e.printStackTrace();
        }

        CustomResponse customResponse = new CustomResponse();
        customResponse.setMessage("yo");
        customResponse.setStatus("yun");
        return new ResponseEntity<>(customResponse,HttpStatus.OK);
    }
}

Таким образом, метод callbackurl является методом POST, который, как ожидается, будет вызываться с этой информацией. У меня также есть перехватчик, поэтому при каждом вызове я получаю журнал от перехватчика, как это request url /pay/callback но метод никогда не вызывается. Этот журнал System.out.println("pay ref id "+payRequest.getTransactionDetails().getReferenceId()); никогда не выполняется. Предполагается, что URL-адрес обратного вызова должен принимать такие параметры, показанные на изображении, вместе с телом запроса. enter image description here Но этот метод никогда не вызывается. Что мне не хватает? Любая помощь будет оценена.

...