本篇文章主要介绍了" httpClient的xml,form,json提交",主要涉及到方面的内容,对于企业开发感兴趣的同学可以参考一下:
http可以实现多种提交(同理restamplate也一样)提供url 和 参数由httpclient模拟相应的提交 1,提交xml数据 2,提交form表单的...
http可以实现多种提交(同理restamplate也一样)
提供url 和 参数由httpclient模拟相应的提交
1,提交xml数据
2,提交form表单的数据
3,提交普通的json数据
1,
@Override
public ApiResponse send(FacadeSendRequest facadeSendRequest) throws Exception{
Assert.isTrue(!StringUtil.isBlank(facadeSendRequest.getTradeCode()), "转发地址异常!");
//根据交易编码获得三湘的接口调用方法名
urlEnum = UrlTransEnum.getEnumByCode(facadeSendRequest.getBankCode(),facadeSendRequest.getTradeCode());
if(urlEnum == null){
log.error("渠道:[{}]不支持此业务,请检查!交易码:[{}]",facadeSendRequest.getBankCode(),facadeSendRequest.getTradeCode());
throw new ParamException(CodeEnum.CODE_0027.getMsg()+"{"+facadeSendRequest.getTradeCode()+"}");
}
if (TradeEnum.S0017.getTcode().equals(facadeSendRequest.getTradeCode())
|| TradeEnum.S0018.getTcode().equals(facadeSendRequest.getTradeCode())
|| TradeEnum.S0019.getTcode().equals(facadeSendRequest.getTradeCode())
|| TradeEnum.S0020.getTcode().equals(facadeSendRequest.getTradeCode())
|| TradeEnum.S0021.getTcode().equals(facadeSendRequest.getTradeCode())
|| TradeEnum.S0022.getTcode().equals(facadeSendRequest.getTradeCode())
|| TradeEnum.S0023.getTcode().equals(facadeSendRequest.getTradeCode())) {//http form post send
JSONObject packetJson = JSONObject.parseObject(facadeSendRequest.getPacket());
facadeSendRequest.setFormData(packetJson);
return super.send(facadeSendRequest);
}else{//api send
return apiSend(facadeSendRequest);
}
}
2,
public String httpSend(FacadeSendRequest facadeSendRequest){
if(facadeSendRequest.getFile() != null)
return HttpClientUtil.uploadFile(facadeSendRequest.getUrl(), facadeSendRequest.getFileKey(),facadeSendRequest.getFile(),facadeSendRequest.getDatas());
if(!StringUtil.isBlank(facadeSendRequest.getXmlPacket()))