这篇文章给大家介绍OkHttp发起网络请求以及如何实现JSON/XML与对象的互转,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联专注于溪湖企业网站建设,响应式网站开发,商城网站建设。溪湖网站建设公司,为溪湖等地区提供建站服务。全流程按需求定制设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
1.添加okhttp,xtream,fastjson依赖:
Tip:七牛jdk中包含了老版本的okhttp,需要先排除.
2. 配置okHttpClient,让spring自动装配:
放到标注有@Configuration的配置类中统一管理.
自动注入:
@Resource
private OkHttpClient okHttpClient;
3. GET请求JSON数据并封装成对象(记录用户登录的位置(HttpUtil.java):
okHttpClient.newCall(request).execute发起网络请求.
request:
GET: new Request.Builder().url(url).build();
POST:RequestBody requestBody = new FormBody.Builder()
.add("key","value")
.add("key","value")
.build();
new Request.Builder().post(requestBody).url(url).build();
使用JSON.parseObject(jsonString,object)将JSON封装成对象,支持级联属性.
调用淘宝IP地址库: http://ip.taobao.com/service/getIpInfo2.php?ip=xxx ,返回:
获取客户端真实IP地址:
参考: http://blog.csdn.net/z69183787/article/details/21187485
将返回信息抽象为一个类就可以自动封装了:
domain/json/IpLocation.java
domain/Location.java
Location location = HttpUtil.getLocationByIP(request, okHttpClient);
4. GET请求XML数据并封装成对象:
Tip: 使用XStream转换XML之前,需要先注册对象.
xStream.processAnnotations(Class);
5. 对象转换为JSON:
JSONObject.toJSONString(object)
6. 对象转换为XML:
xStream.processAnnotations(class);
xStream.toXML(object);
Tip:示例源码springboot-thymeleaf: org/ramer/demo/controller/DemoController.java
github: https://github.com/RamerF/spring-web.git
关于OkHttp发起网络请求以及如何实现JSON/XML与对象的互转就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。