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

  • 相关阅读:
    数据结构与算法10 微服务接口的鉴权和限流 [MD]
    .Net开发环境配置[OS/IIS/VS...]
    一、单件模式
    正则表达式调试器1.1
    C#2.0新特性系列文章转载
    巧用VS2005解决VS2005网站发布不便问题
    配置VS2005,加速VS2005运行速度
    转载:ASP.NET运行机制 和 图片盗链问题
    ASP.NET页面提前处理问题
    关于NTLM认证的python和.NET实现
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/9040979.html
Copyright © 2011-2022 走看看