NoHttp封装--08 用一个实体类接收所有接口数据
1.用户信息获取--bean实体类形式返回数据
①服务器端:
代码:
1 protected void onHandler(HttpServletRequest request, HttpServletResponse response, PrintWriter printWriter) { 2 Map<String, Object> map = new HashMap<String, Object>(); 3 4 try { 5 String responseS = onResponse(request, response); 6 map.put("data", responseS);// 字符串、json、url 7 map.put("error", 1);// 1的时候代表服务端执行成功 8 map.put("msg", "OK"); 9 } catch (Exception e) { 10 map.put("error", "-1");// error是-1的时候代表服务端有问题 11 map.put("msg", "服务端操作数据库出现异常"); 12 map.put("data", ""); 13 } 14 15 JSONObject jsonObject = (JSONObject) JSON.toJSON(map); 16 printWriter.write(jsonObject.toJSONString()); 17 } 18 19 protected String onResponse(HttpServletRequest request, HttpServletResponse response) throws Exception { 20 Map<String, String> map = new HashMap(); 21 map.put("userName", "甘传谱"); 22 map.put("password", "123456"); 23 return JSON.toJSONString(map); 24 }
json:
{"msg":"OK","data":"{\"password\":\"123456\",\"userName\":\"甘传谱\"}","error":}
②客户端:
代码:
public class UserInfo { @JSONField(name = "userName") private String userName; @JSONField(name = "password") private String password; public UserInfo() { super(); } public UserInfo(String userName, String password) { super(); this.userName = userName; this.password = password; }
String url = "http://172.16.10.240:8080/noHttpServer/UserInfoServlet"; Request<BaseBean> request = new BaseRequest<BaseBean>(url, BaseBean.class); request(, request, callBack, false, true); ==============回调======================== BaseBean baseBean = response.get(); if (baseBean.isSuccess()) { UserInfo content = baseBean.parseData(UserInfo.class); String s = "用户名:" + content.getUserName() + ";密码:" + content.getPassword(); mTvResult.setText(s); } else { mTvResult.setText("业务处理层数据失败"); }
2.书籍信息--list集合形式返回数据
① 服务器端:
代码:
1 protected void onHandler(HttpServletRequest request, HttpServletResponse response, PrintWriter printWriter) { 2 Map<String, Object> map = new HashMap<String, Object>(); 3 4 try { 5 String responseS = onResponse(request, response); 6 map.put("data", responseS);// 字符串、json、url 7 map.put("error", 1);// 1的时候代表服务端执行成功 8 map.put("msg", "OK"); 9 } catch (Exception e) { 10 map.put("error", "-1");// error是-1的时候代表服务端有问题 11 map.put("msg", "服务端操作数据库出现异常"); 12 map.put("data", ""); 13 } 14 15 JSONObject jsonObject = (JSONObject) JSON.toJSON(map); 16 printWriter.write(jsonObject.toJSONString()); 17 } 18 19 protected String onResponse(HttpServletRequest request, HttpServletResponse response) throws Exception { 20 Map<String, Object> map = new HashMap(); 21 List<String> books = new ArrayList(); 22 books.add("Java"); 23 books.add("Android"); 24 books.add("iOS"); 25 books.add("C#"); 26 books.add(".NET"); 27 books.add("PHP"); 28 map.put("books", books); 29 return JSON.toJSONString(map); 30 }
json:
{"msg":"OK","data":"{\"books\":[\"Java\",\"Android\",\"iOS\",\"C#\",\".NET\",\"PHP\"]}","error":}
②客户端:
代码:
public class BooksInfo { @JSONField(name = "books") private List<String> list; public BooksInfo() { super(); } public BooksInfo(List<String> list) { super(); this.list = list; }
String url = "http://172.16.10.240:8080/noHttpServer/BookServlet"; Request<BaseBean> request = new BaseRequest<BaseBean>(url, BaseBean.class); request(, request, callBack, false, true); ==========回调================================== BaseBean baseBean = response.get(); if (baseBean.isSuccess()) { BooksInfo content = baseBean.parseData(BooksInfo.class); List<String> list =content.getList(); String s=""; for(int i=;i<list.size();i++){ s+= "书籍名字" +i + ":" + list.get(i)+"\n"; } mTvResult.setText(s); } else { mTvResult.setText("业务处理层数据失败"); }
完整代码:https://github.com/ganchuanpu/StarHttp
相关推荐
SAMXIE 2020-07-26
写程序的赵童鞋 2020-07-19
Justagreenonion 2020-06-21
Danialzhou 2020-05-30
mrsuddenflash 2020-05-11
URML 2020-05-09
栖梧桐 2020-04-11
yunzhonmghe 2020-04-07
喝绿茶的猫 2020-02-21
kevincheung 2020-02-20
技术驱动人生 2020-02-14
csuzxm000 2020-02-01
zhiyuan0 2020-01-19
GavinZhera 2020-01-04
swimmer000 2019-12-30
BruceWayne 2014-06-07
云之飞踢 2014-06-02