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