0

我是 Spring Boot 和 REST API 的初学者。我正在尝试集成一个支付网关来创建支付请求,为此我正在使用 Instamojo 支付网关。我在 200 成功代码的响应中得到 NULL。之间的主要区别是什么postForObjectpostForEntity或者有些人使用交换方法?看来postForEntity和交换方法是用来获取回报的reponseEntity,我应该什么时候去postForObjectpostForEntity还是交换方法?谁能告诉我我做错了什么?

@PostMapping(value="/paymentcreate")
public void createOrderCashFree(@RequestBody CreateOrder createorder) {     
    CreateOrder corder = new CreateOrder();

    corder.setAmount(createorder.getAmount());
    corder.setBuyer_name(createorder.getBuyer_name());
    corder.setEmail(createorder.getEmail());
    corder.setPurpose(createorder.getPurpose());
    corder.setPhone(createorder.getPhone());
    corder.setRedirect_url("https://www.google.com/"); // just for test
    corder.setWebhook("");
    corder.setAllow_repeated_payments(false);
    corder.setSend_email(false);
    corder.setSend_sms(false);
    corder.setExpire_at(new Date());

    HttpHeaders header = new HttpHeaders();
    header.setContentType(MediaType.APPLICATION_JSON);
    header.set("X-Api-Key", "test-api-key"); // actual key is provided
    header.set("X-Auth-Token","test-auth-token"); // actual token is provided

    HttpEntity<CreateOrder> entity = new HttpEntity<CreateOrder>(corder, header);
    System.out.println(entity.getBody());
    CreateOrder response =resttemplate.postForObject("https://test.instamojo.com/api/1.1/payment-requests/", entity, CreateOrder.class);
    System.out.println(response); // this return null
}

预期结果是包含某些字段的响应,但实际结果是 200 成功代码,但正文中为 NULL。

4

0 回答 0