RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。
1、写配置项
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class WebMvcConfig {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
}
2、注入
@Autowired
private RestTemplate restTemplate;
3、使用
MerchantOrdersVO merchantOrdersVO = new MerchantOrdersVO();
merchantOrdersVO.setReturnUrl(payReturnUrl);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("imoocUserId", "imooc");
headers.add("password", "imooc");
HttpEntity<MerchantOrdersVO> entity = new HttpEntity<>(merchantOrdersVO, headers);
ResponseEntity<IMOOCJSONResult> responseEntity
= restTemplate.postForEntity(paymentUrl, entity, IMOOCJSONResult.class); // paymentUrl要访问的url,IMOOCResult.class返回值类型
IMOOCJSONResult paymentResult = responseEntity.getBody();
if(paymentResult.getStatus() != 200){
return IMOOCJSONResult.errorMsg("支付中心订单创建失败,请联系管理员");
}
return IMOOCJSONResult.ok(orderVO.getOrderId());