HttpClient调试android接口-通用方法

来源:互联网 发布:贵妃醉酒伴奏网络 编辑:程序博客网 时间:2024/04/24 14:22

最近公司要我调试android接口,就封装了一下,记录下来。。做为笔记吧!


package com.dw.test;public class User {  private String id;  private String username;  private String password;  public String getId() {return id;}public void setId(String id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User [id=" + id + ", username=" + username + ", password="+ password + "]";}}

package com.dw.util;import java.util.List;import net.sf.json.JSONArray;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;public class HttpClientUtil<T> {/** * post请求方法, 返回一个对象集合 *  * @param url 请求的url * @param objectClass class对象,你想要返回的对象 * @param formparams  请求参数 * @return List<T> 返回对象集合 * @throws Exception */@SuppressWarnings({ "rawtypes", "unchecked" })public List<T> getListPost(String url, Class objectClass,List<NameValuePair> formparams) throws Exception {// 创建默认的httpClient实例.CloseableHttpClient httpclient = HttpClients.createDefault();List<T> objList = null;try {// 创建httppostHttpPost httppost = new HttpPost(url);// 设置请求的表单编码UrlEncodedFormEntity uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");// 设置http请求参数httppost.setEntity(uefEntity);System.out.println("executing request " + httppost.getRequestLine());// 发送请求CloseableHttpResponse response = httpclient.execute(httppost);// 请求响应码int code = response.getStatusLine().getStatusCode();if (code == 200) {try {// 获取响应的数据HttpEntity entity = response.getEntity();if (entity != null) {String json = EntityUtils.toString(entity, "UTF-8");System.out.println("Response content: " + json);JSONArray jsonobj = JSONArray.fromObject(json);objList = (List<T>) JSONArray.toCollection(jsonobj,objectClass);}} finally {response.close();}} else {System.out.println("请求失败!");}} finally {httpclient.close();}return objList;}/** * post请求方法, 返回一个对象 *  * @param url 请求的url * @param objectClass class对象,你想要返回的对象 * @param formparams 设置请求参数 * @return T 返回对象 * @throws Exception */@SuppressWarnings({ "rawtypes", "unchecked" })public T getObjPost(String url, Class objectClass,List<NameValuePair> formparams) throws Exception {// 创建默认的httpClient实例.CloseableHttpClient httpclient = HttpClients.createDefault();T obj = null;try {// 创建httppostHttpPost httppost = new HttpPost(url);// 设置请求的表单编码UrlEncodedFormEntity uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");// 设置http请求参数httppost.setEntity(uefEntity);System.out.println("executing request " + httppost.getRequestLine());// 发送请求CloseableHttpResponse response = httpclient.execute(httppost);// 请求响应码int code = response.getStatusLine().getStatusCode();if (code == 200) {try {// 获取响应的数据HttpEntity entity = response.getEntity();if (entity != null) {String json = EntityUtils.toString(entity, "UTF-8");System.out.println("Response content: " + json);JSONArray jsonobj = JSONArray.fromObject(json);List<T> objList = (List<T>) JSONArray.toCollection(jsonobj, objectClass);if (objList != null && objList.size() > 0) {if (objList.size() <= 1) {obj = objList.get(0);}}}} finally {response.close();}} else {System.out.println("请求失败!");}} finally {httpclient.close();}return obj;}}

package com.dw.util;import java.util.ArrayList;import java.util.List;import org.apache.http.NameValuePair;import org.apache.http.message.BasicNameValuePair;import org.junit.After;import org.junit.Before;import org.junit.Test;import com.dw.test.User;public class HttpClientTest {    private static HttpClientUtil<User> http = null;    private static List<NameValuePair> formparams = null;    @Before    public void newUser() {        http = new HttpClientUtil<User>();        formparams = new ArrayList<NameValuePair>();    }    @After    public void clerformparams() {        formparams = null;    }    @Test    public void postListTest() throws Exception {        //请求参数        formparams.add(new BasicNameValuePair("names", "邓文伟"));        formparams.add(new BasicNameValuePair("password", "123"));        List<User> listUser = http.getListPost(                "http://localhost:8080/testPlatform/indexs.htm", User.class,                formparams);        System.out.println(listUser);    }    @Test    public void postUserTest() throws Exception {        //请求参数        formparams.add(new BasicNameValuePair("names", "邓文伟"));        formparams.add(new BasicNameValuePair("password", "123"));                User user= http.getObjPost(                "http://localhost:8080/testPlatform/indexs.htm", User.class,                formparams);        System.out.println(user.getUsername());    }}


代码和jar包:http://download.csdn.net/detail/dengwenwei121/8168261



0 0
原创粉丝点击