调用接口常用的几种方法

本文介绍了在Java中调用接口的常见方法,包括两种不同的转换和调用方式,强调了根据对接代码选择合适方法的重要性。当接口参数多且有共性时,可以利用PostJson工具类进行调用。同时,展示了RequestUtil类中getServletInputStream方法的使用,以及如何在header中添加参数。此外,文章还提到了startsWith()方法的作用,以及Arrays.asList()方法在数组转list时的注意事项和使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在使用String转jsonObject的时候通常使用这两种方法

net.sf.json.JSONObject bodyData = net.sf.json.JSONObject.fromObject(bodyStr);

JSONObject result = JSONObject.parseObject(resultStr);

这两种方法之所以不同一是因为导入的jar包不同,二是根据对接的代码来的如果对接的代码使用那种我们最后就跟着使用那种,使用第二种方法常用。

如果参数很多,并且body大部分都是一样的数据,而根据不同的接口会有一些细微的差异,这时我们可以利用postJson工具类来调用接口。

//获取post过来的body数据
String bodyStr = RequestUtil.getServletInputStream(request);

至于RequestUtil类封装的方法getServletInputStream如下

   /**
	 * 获取request的body数据流
	 * @param request
	 * @return
	 * @throws IOException
	 */
	public static String getServletInputStream(HttpServletRequest request) throws IOException{
		StringBuilder buffer = new StringBuilder();
		BufferedReader reader=null;
		try{
			reader = new BufferedReader(new InputStreamReader(request.getInputStream(),request.getCharacterEncoding()));
			String line=null;
			while((line = reader.readLine())!=null){
				buffer.append(line);
			}
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			if(null!=reader){
				try {
					reader.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return buffer.toString();
	}

调用接口的时候我们可以加一些东西导head里面,至于我们RequsetUtil得到的body数据大部分都是公用的,data不需要改变。
header根据不同的接口加一下不同的参数。

//调用接口
JSONObject result = postJson(path, postData);//path是request的body得到的,postData是我们得到的body数据加一些参数或者删除一些参数组合之后得到的请求接口的参数集

今天还碰到了java中的这个方法—startsWith()
startsWith() 方法用于检测字符串是否以指定的前缀开始。

public boolean startsWith(String prefix, int toffset)//prefix是指定前缀,toffset是指定开始查找的位置
public boolean startsWith(String prefix)

如果字符串以指定的前缀开始,则返回 true;否则返回 false。

使用接口地址映射的时候我用到了Arrays.asList()方法,该方法是将数组转化为list。注意事项。
1、该方法不适用基本数据类型(byte,short,int,long,float,double,boolean)
2、该方法将数组与列表连接起来。其中一个更新另一个自动更新。
3、不支持add和remove方法。
使用样例
List list = Arrays.asList(“哈哈,呵呵,咯咯”.split(","));

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值