前言:这是我的第一篇博文,是我对现在一些接口调用的梳理,写的不好,请见谅。
序:接口无非就是“你调用别人的接口”和“别人调用你的接口”,我会对这两种情况分别的理一下我的思路。
准备:我使用的是HttpClient,它的特性是实现了Http全部的方法和支持HTTPS协议,是一种比较纯净的JAVA语言。
一、“你调用别人的接口”:
我这里提供的方法是POST和GET的方法.
使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可。
1. 创建HttpClient对象。
2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。
3. 如果需要发送请求参数,我使用的是List,采用键值对的形式
4. 释放连接。无论执行方法是否成功,都必须释放连接
来个代码进行讨论把,我会在代码里面进行详细的讲解,这里主要是post和get的方法.
1.先来一个常量类:
/*************************************************接口部分**************************************************/
/*** 请求正常*/
public static final int SUCCESS = 200;/*** 请求参数有误*/
public static final int PARAMETER_EXCEPTION = 400;/*** 认证失败*/
public static final int AUTHENTICATION_FAILED = 401;/*** 请求地址错误或不存在*/
public static final int ADDRESS_EXCEPTION = 404;/*** 请求地址错误或不存在*/
public static final int SERVER_EXCEPTION = 500;/*** 接口状态码判断*/
public static String putThrowException(intstatusCode) {
String e= "";if(PARAMETER_EXCEPTION ==statusCode) {
e= "请求参数有误";
}else if(AUTHENTICATION_FAILED ==statusCode) {
e= "认证失败";
}else if(ADDRESS_EXCEPTION ==statusCode) {
e= "请求地址错误或不存在";
}else if(SERVER_EXCEPTION ==statusCode) {
e= "服务器状态异常";
}returne;
}/*** Token元素*/
public static final String USERNAME = "tianxun";public static final String PASSWORD = "123456";public static final String token = "dGlhbnh1biUzQTEyMzQ1Ng==";
2.接口类:
packagecn.tisson.bycs.utils;importjava.io.IOException;importjava.io.UnsupportedEncodingException;importjava.net.URLEncoder;importjava.net.UnknownHostException;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.net.ssl.SSLException;importorg.apache.commons.httpclient.HttpException;importorg.apache.http.Consts;importorg.apache.http.HttpEntity;importorg.apache.http.HttpEntityEnclosingRequest;importorg.apache.http.HttpRequest;importorg.apache.http.NameValuePair;importorg.apache.http.NoHttpResponseException;importorg.apache.http.client.HttpRequestRetryHandler;importorg.apache.http.client.config.RequestConfig;importorg.apache.http.client.entity.UrlEncodedFormEntity;importorg.apache.http.client.methods.CloseableHttpResponse;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.client.methods.HttpPost;importorg.apache.http.client.protocol.HttpClientContext;importorg.apache.http.client.utils.URIUtils;importorg.apache.http.client.utils.URLEncodedUtils;importorg.apache.http.conn.ConnectTimeoutException;importorg.apache.http.impl.client.CloseableHttpClient;importorg.