Java后台调用API的方法
其实API接口就相当于一个方法或者函数,只不过通过http来访问。
API接口也需要参数,也会返回结果。
调用接口的步骤:
(一)客户端请求接口的URL。
(二)传入接口需要的参数param。
(三)接口返回调用的结果(数据)。
(四)客户端解析结果。
- .需要自己创建一个HttpUtil类。下面以自己创建的HttpUtil为例。
HttpUtil类一般包括:doGet和doPost方法
public static String doGet(String url, Map<String, String> param){}
public static String doPost(String url, Map<String, String> param){} - 创建url和访问参数param等:
url即是要访问接口的地址,参数param即是接口需要的参数。
参数param一般是以map的形式传递。
接口地址:
String requestUrl = “……”;
params用于存储要请求的参数:
Map params = new HashMap();
我们请求的字符串
params.put(“info”,info); - 通过HttpUtil类,使用doGet和doPost方法请求URL,传输参数param,从而调用接口API。
下面便是一个executePost(同doPost)的详细内容:(使用了org.apache.http中的内容)
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.cookie.Cookie;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicNameValuePair;
public String executePost(String url, Map<String, String> params) throws Exception
{
HttpPost httpPost = new HttpPost(url);
if (params != null)
{
List<NameValuePair> list = new ArrayList<NameValuePair>(params.size());
NameValuePair nvp = null;
for (Entry<String, String> entry : params.entrySet())
{
nvp = new BasicNameValuePair(entry.getKey(), entry.getValue());
list.add(nvp);
}
httpPost.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));
}
return execute(httpPost);
}
- 调用API后,一般会得到返回的结果,最后是根据接口返回数据格式来解析数据。