分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

NoHttp封装--08 用一个实体类接收所有接口数据

发布时间:2023-09-06 01:54责任编辑:林大明关键词:暂无标签

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":1}

②客户端:

代码:

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(0, 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":1}

②客户端:

代码:

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(1, 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=0;i<list.size();i++){ ??????s+= "书籍名字" +i + ":" + list.get(i)+"\n"; ???} ???mTvResult.setText(s);} else { ???mTvResult.setText("业务处理层数据失败");}

完整代码:https://github.com/ganchuanpu/StarHttp

NoHttp封装--08 用一个实体类接收所有接口数据

原文地址:https://www.cnblogs.com/ganchuanpu/p/9040979.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved