解决接口不能传参问题
2017-05-05 11:35
169 查看
今天第三方支付接口改造,弄的我们系统也要改,这种不靠谱的第三方真是坑,废话不多说,直入主题。。。
原支付接口url中可以带参,今天改了不能带参,那怎么办呢,我们的业务需要这个参数传回来的。
人家不改接口没办法,只有自己动脑筋了。
经过深思熟虑发现,请求参数与返回结果有个相同的字段,而且长度也有120。想着把参数放在这里面让他返回过来行不行呢,反正这个参数也没用到的。具体实现如下:
1,拼接参数,放入请求字段中
//回调参数
String reparamStr = "TotalMoney_"+TotalMoney+"_productOrders_"+productOrders+"_openid_"+openid.replaceAll("_", "@@@");然后再放入请求参数中
后台回调实现如下
String productdetail = getPara("ATTACH");
Map<String,String> paraMap =null ;
if(productdetail.indexOf("_")>0){
String[] productdesc = productdetail.split("_");
paraMap = new HashMap<String,String>();
for (int i = 0; i < productdesc.length; i++) {
if(productdesc[i].equals("openid")){
openid = productdesc[i+1].replaceAll("@@@", "_");
}else{
paraMap.put(productdesc[i], productdesc[i+1]);
}
++i;
}
}
String TotalMoney = paraMap.get("TotalMoney");
这样就能轻松get想传给第三方接口的参数啦
原支付接口url中可以带参,今天改了不能带参,那怎么办呢,我们的业务需要这个参数传回来的。
人家不改接口没办法,只有自己动脑筋了。
经过深思熟虑发现,请求参数与返回结果有个相同的字段,而且长度也有120。想着把参数放在这里面让他返回过来行不行呢,反正这个参数也没用到的。具体实现如下:
1,拼接参数,放入请求字段中
//回调参数
String reparamStr = "TotalMoney_"+TotalMoney+"_productOrders_"+productOrders+"_openid_"+openid.replaceAll("_", "@@@");然后再放入请求参数中
后台回调实现如下
String productdetail = getPara("ATTACH");
Map<String,String> paraMap =null ;
if(productdetail.indexOf("_")>0){
String[] productdesc = productdetail.split("_");
paraMap = new HashMap<String,String>();
for (int i = 0; i < productdesc.length; i++) {
if(productdesc[i].equals("openid")){
openid = productdesc[i+1].replaceAll("@@@", "_");
}else{
paraMap.put(productdesc[i], productdesc[i+1]);
}
++i;
}
}
String TotalMoney = paraMap.get("TotalMoney");
这样就能轻松get想传给第三方接口的参数啦
相关文章推荐
- Java小程序---接口中抽象方法的实现(解决了JAVA语言不能多继承的问题)
- VS2005不能为COM组件的接口添加方法问题解决
- 解决WebService 中泛型接口不能序列化问题
- 【javascript】解决setTimeout不能传参的问题
- webservice不能序列化接口问题,返回值为IList或者参数为接口的解决办法。
- php调用java写的WebService不能传参问题解决
- 解决WebService 中泛型接口不能序列化问题
- 【javascript】解决setTimeout不能传参的问题
- webservice不能序列化接口问题,返回值为IList或者参数为接口的解决办法。
- Android 访问Webservice接口,参数对象不能串行化问题解决(java.lang.RuntimeException: Cannot serialize)
- SpringMVC接口不能接收参数的问题解决
- 解决Web安装程序不能选择安装目录问题(2)
- 实现datagrid的foot中增加一个新增数据行,以解决datagrid不能新增数据的问题
- regsvr32 scrrun.dll 解决VS2003"Automation对象不能创建"问题
- 两种方法解决jbuilder2005不能启动问题
- 无线网络不能连线玩红警2问题的解决
- .Net环境水晶报表在98下发布,出现"不能加载报表..."问题的解决
- 解决AVI格式的文件不能删除的问题
- 实现datagrid的foot中增加一个新增数据行,以解决datagrid不能新增数据的问题
- 关于解决WebSphere服务不能启动问题的几点经验总结