這篇文章給大家介紹OkHttp發(fā)起網(wǎng)絡(luò)請(qǐng)求以及如何實(shí)現(xiàn)JSON/XML與對(duì)象的互轉(zhuǎn),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)專注于溪湖企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城網(wǎng)站建設(shè)。溪湖網(wǎng)站建設(shè)公司,為溪湖等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
1.添加okhttp,xtream,fastjson依賴:
Tip:七牛jdk中包含了老版本的okhttp,需要先排除.
2. 配置okHttpClient,讓spring自動(dòng)裝配:
放到標(biāo)注有@Configuration的配置類中統(tǒng)一管理.
自動(dòng)注入:
@Resource
private OkHttpClient okHttpClient;
3. GET請(qǐng)求JSON數(shù)據(jù)并封裝成對(duì)象(記錄用戶登錄的位置(HttpUtil.java):
okHttpClient.newCall(request).execute發(fā)起網(wǎng)絡(luò)請(qǐng)求.
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封裝成對(duì)象,支持級(jí)聯(lián)屬性.
調(diào)用淘寶IP地址庫(kù): http://ip.taobao.com/service/getIpInfo2.php?ip=xxx ,返回:
獲取客戶端真實(shí)IP地址:
參考: http://blog.csdn.net/z69183787/article/details/21187485
將返回信息抽象為一個(gè)類就可以自動(dòng)封裝了:
domain/json/IpLocation.java
domain/Location.java
Location location = HttpUtil.getLocationByIP(request, okHttpClient);
4. GET請(qǐng)求XML數(shù)據(jù)并封裝成對(duì)象:
Tip: 使用XStream轉(zhuǎn)換XML之前,需要先注冊(cè)對(duì)象.
xStream.processAnnotations(Class);
5. 對(duì)象轉(zhuǎn)換為JSON:
JSONObject.toJSONString(object)
6. 對(duì)象轉(zhuǎn)換為XML:
xStream.processAnnotations(class);
xStream.toXML(object);
Tip:示例源碼springboot-thymeleaf: org/ramer/demo/controller/DemoController.java
github: https://github.com/RamerF/spring-web.git
關(guān)于OkHttp發(fā)起網(wǎng)絡(luò)請(qǐng)求以及如何實(shí)現(xiàn)JSON/XML與對(duì)象的互轉(zhuǎn)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
分享標(biāo)題:OkHttp發(fā)起網(wǎng)絡(luò)請(qǐng)求以及如何實(shí)現(xiàn)JSON/XML與對(duì)象的互轉(zhuǎn)
文章轉(zhuǎn)載:http://aaarwkj.com/article40/jjgpeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站建設(shè)、企業(yè)建站、商城網(wǎng)站、微信公眾號(hào)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)