zoukankan      html  css  js  c++  java
  • 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":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)+"
    ";
        }
        mTvResult.setText(s);
    } else {
        mTvResult.setText("业务处理层数据失败");
    }

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

  • 相关阅读:
    RedisTemplate实现事物问题剖析和解决
    PO BO VO DTO POJO DAO概念及其作用(附转换图)
    Java 应用程序设计规范
    Java web url 规范
    Java 中 Map与JavaBean实体类之间的相互转化
    使用Java 8中的Stream
    [转]http://lua-users.org/wiki/LpegTutorial
    [转]LUA元表
    LPEG
    [转]LUA 学习笔记
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/9040979.html
Copyright © 2011-2022 走看看