NoHttp封装--08 用一个实体类接收所有接口数据
1.用户信息获取--bean实体类形式返回数据
①服务器端:
代码:
protected void onHandler(HttpServletRequest request, HttpServletResponse response, PrintWriter printWriter) {
Map<String, Object> map = new HashMap<String, Object>();
try {
String responseS = onResponse(request, response);
map.put("data", responseS);// 字符串、json、url
map.put("error", );// 1的时候代表服务端执行成功
map.put("msg", "OK");
} catch (Exception e) {
map.put("error", "-1");// error是-1的时候代表服务端有问题
map.put("msg", "服务端操作数据库出现异常");
map.put("data", "");
}
JSONObject jsonObject = (JSONObject) JSON.toJSON(map);
printWriter.write(jsonObject.toJSONString());
}
protected String onResponse(HttpServletRequest request, HttpServletResponse response) throws Exception {
Map<String, String> map = new HashMap();
map.put("userName", "甘传谱");
map.put("password", "");
return JSON.toJSONString(map);
}
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集合形式返回数据
① 服务器端:
代码:
protected void onHandler(HttpServletRequest request, HttpServletResponse response, PrintWriter printWriter) {
Map<String, Object> map = new HashMap<String, Object>();
try {
String responseS = onResponse(request, response);
map.put("data", responseS);// 字符串、json、url
map.put("error", );// 1的时候代表服务端执行成功
map.put("msg", "OK");
} catch (Exception e) {
map.put("error", "-1");// error是-1的时候代表服务端有问题
map.put("msg", "服务端操作数据库出现异常");
map.put("data", "");
}
JSONObject jsonObject = (JSONObject) JSON.toJSON(map);
printWriter.write(jsonObject.toJSONString());
}
protected String onResponse(HttpServletRequest request, HttpServletResponse response) throws Exception {
Map<String, Object> map = new HashMap();
List<String> books = new ArrayList();
books.add("Java");
books.add("Android");
books.add("iOS");
books.add("C#");
books.add(".NET");
books.add("PHP");
map.put("books", books);
return JSON.toJSONString(map);
}
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
NoHttp封装--08 用一个实体类接收所有接口数据的更多相关文章
- Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(Studen ...
- OrmLite动态创建表,一个实体类创建多张表的的偏招
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/LonelyRoamer/article/details/26299355 在做一个Android的项 ...
- Mybatis自动生成实体类、dao接口和mapping映射文件
由于Mybatis是一种半自动的ORM框架,它的工作主要是配置mapping映射文件,为了减少手动书写映射文件,可以利用mybatis生成器,自动生成实体类.dao接口以及它的映射文件,然后直接拷贝到 ...
- XML带多属性解析为一个实体类(利用反射)
最近在对接一个银行的项目,大概就是类似一个钱包的功能,在请求返回的数据时,发现返回的数据标准的XML格式的支付串,格式如下 <kColl id="inputOrig" app ...
- 前端传数据到后台,后台用实体类接收不到引发的思考----Java bean中字段命名潜规则
1.按照Java语法规范,通常在实体类中的属性,首字母都是小写的.这是由于JavaBean的规范导致的.一般JavaBean属性都是首字母小写,以驼峰命名格式命名,相应的 getter/setter ...
- mybatis向数据库插入数据 (传入的是一个实体类)
/** * 插入用户信息 user为实体类 * @param user */ public int insert( User user); //实体类不用@param标注 //mybatis的xml文 ...
- 利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件
1. mybatis-generator-core-1.3.5.jar 下载地址:https://github.com/mybatis/generator/releases 2. msyql-conn ...
- 使用generatorConfig工具自动生成mybatis的实体类以及dao接口和映射文件
1:数据准备 创建一个数据库表 CREATE TABLE `logininfo` ( `id` ) NOT NULL AUTO_INCREMENT, `username` ) DEFAULT NULL ...
- hibernate多表查询,结果封装在自己定义的一个实体类当中(在自己定义的类中增加构造函数)
hibernate的hql查询直接返回java对象时出现问题3 向大家请教一个问题,现在有三张表,表之间没有关联,我需要将三张表里面的所有东西查询出来存储到一个新的对象中,该如何实现,使用hibern ...
随机推荐
- SpringMvc + socket.io + vue + vue-socket.io实例
SpringMvc部分实现 1. 所需依赖 <dependency> <groupId>com.corundumstudio.socketio</g ...
- css、css3总结
关于figure元素和figcaption元素的解释与应用: https://www.w3cplus.com/html5/quick-tip-the-right-way-to-use-figure-a ...
- 橙色优学:Java编程怎么提升技术,Java编程思维至关重要
橙色优学了解做为程序员,一旦进入技术行列,就开启了持续学习的道路,更迭迅速的互联网时代,技术自然也是一代一代的更新,在技术进阶的道路上,要不断吸收新的想法和技术知识. 牛逼的人总是让人羡慕,但如何才能 ...
- [linux]解析crontab
linux提供了一个非常强大而且又比较好用的命令 [crontab] crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行, ...
- Java 容器 & 泛型:四、Colletions.sort 和 Arrays.sort 的算法
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 本来准备讲 Map集合 ,还是喜欢学到哪里总结吧.最近面试期准备准备,我是一员,成功被阿里在线笔试秒杀 ...
- 项目ITP(三) 玩玩 服务端 到 app端
前言 系列文章:[传送门] 泡泡脚,写写博客,规律生活,睡个好觉,待会看会书. 正文 上面讲了二维码生成,及 手机端扫一扫,大家有兴趣去看看. 今天我们讲一下,百度云推送平台. 每天想着问题,问题只会 ...
- 手写spring(简易版)
本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作,如有错误之处忘不吝批评指正! 理解Spring本质: 相信之前在使用spring的时候大家都配置web.x ...
- 逆向实战干货,植物大战僵尸快速定位自动捡阳光Call,或者标志
逆向实战干货,快速定位自动捡阳光Call,或者标志 注意: 关于CE和OD的使用,这里不再多说,快速定位,默认大家已经有了CE基础,或者OD基础. 第一种方法,找Call 第一步,打开CE,搜索阳光值 ...
- [机器学习]梯度提升决策树--GBDT
概述 GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由 ...
- Go Web:数据存储(1)——内存存储
数据可以存储在内存中.文件中.按二进制序列化存储的文件中.数据库中等. 1.内存存储 2.CSV文件存储 3.gob序列化存储 内存存储 将数据存储到内存中.此处所指的内存是指应用程序自身的内存空间( ...