1. 程式人生 > >Retrofit2.0 + Okhttp3.0獲取介面原生資料

Retrofit2.0 + Okhttp3.0獲取介面原生資料

public interface ApiService {
        @Multipart
        @POST("/mm/xxx")
        Call<ResponseBody> uploadImage(@Part MultipartBody.Part file);

        @FormUrlEncoded
        @POST("/mm/xxx")
        Call<ResponseBody> post(@FieldMap TreeMap<String,String> map);
    }
public void test(){
        Retrofit build = new Retrofit.Builder
() .baseUrl("http://140.28.115.161/") .build(); // RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), logFile); // MultipartBody.Part body = MultipartBody.Part.createFormData("uploaded_file", logFile.getName(), requestFile); TreeMap<String,String> treeMap = new TreeMap<>();
treeMap.put("userId", "182683141"); Call<ResponseBody> stringCall = build.create(ApiService.class).post(treeMap); stringCall.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(@NonNull Call<ResponseBody> call, @NonNull Response<ResponseBody> response) { try { ResponseBody body = response.body
(); assert body != null; // 這樣就獲取到介面返回的原生json字串了 String trim = body.string().trim(); LogUtil.e("FileLogCatUtils"," trim = " + trim); }catch (Exception e){ e.printStackTrace(); } LogUtil.e("FileLogCatUtils"," call = " + call + " response = " + response); LogUtil.e("FileLogCatUtils"," ThreadName = " + Thread.currentThread().getName()); } @Override public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) { LogUtil.e("FileLogCatUtils"," call = " + call + " Throwable = " + t); } }); }

相關推薦

Retrofit2.0 + Okhttp3.0獲取介面原生資料

public interface ApiService { @Multipart @POST("/mm/xxx") Call<ResponseBody> uploadImage(@Part Multip

微信小程式獲取介面返回資料

import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.List

Java資料介面編寫簡單例子,Java Json解析,服務端介面輸出Json資料,客戶端通過HTTP獲取介面Json資料

實現效果 實現原因 目前主流的CS結構,資料都是通過RESTful風格介面形式呈現,不管是桌面級應用程式還是手機端,介面是我們獲取資料的大多數選擇,主流資料介面呈現形式主要是Json和Xml,後者目前基本漸行漸遠。Json的輕量級和可讀型成為了大多數公司及個人

Retrofit2.0的get post請求簡單資料

首先匯入依賴 compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2' compile 'com.squareup.retrofit2:adap

升級okhttp3.0+和retrofit2.0+的過程以及遇到的坑

包名變化 okhttp3.0之前是:com.squareup.okhttp.*, 而到3.0之後變成:okhttp3.* retrofit2.0之前:retrofit.* retrofit2.0之後:retrofit2.* 都在末尾增加了版本號,顯示的更專業,但是這也給

Retrofit2.0+okhttp3快取策略

2017.04.09 17:59* 字數 445 閱讀 590評論 1喜歡 0 概述 Retrofit本身是沒有快取的,如果想設定快取功能,需要在http client層知道HTTP的語義。 okhttp是square公司釋出的一個HTTP client,它支援

Thinkphp5.0 再進行api介面開發的時候,sesssion再同一個控制器不同的方法是無法獲取session的。

之前用thinkPHP5開發介面的時候,碰到這麼一個問題,用瀏覽器測試的api再用postman或者是指令碼去訪問就會出現重新登入的問題,後來看了一下session裡面的內容,發現指令碼和postman沒有辦法訪問到對應的session,這樣就很難受,最後經過大

OkHttp3.0(結合Retrofit2/Rxjava)利用攔截器實現全域性超時自動登入、新增統一引數

應用場景:1.服務端為了統計各個平臺、版本的使用情況,有時在介面中要求傳遞統一的諸如version(客戶端版本)、os(客戶端平臺android/iOS)、userId等引數,這時如果在介面中一一新增就比較繁瑣了,考慮做全域性處理;另外,一次登入成功後,

Spring Cloud雲架構 SSO單點登錄之OAuth2.0 根據token獲取用戶信息(4)

spring cloud Spring Boot mybatis 上一篇我根據框架中OAuth2.0的使用總結,畫了SSO單點登錄之OAuth2.0 登出流程,今天我們看一下根據用戶token獲取yoghurt信息的流程: /** * 根據token獲取用戶信息 * @para

SSO單點登錄之OAuth2.0 根據token獲取用戶信息(4)

pre string hash 所有 spring 建數據庫 ping utils resp 上一篇我根據框架中OAuth2.0的使用總結,畫了SSO單點登錄之OAuth2.0 登出流程,今天我們看一下根據用戶token獲取yoghurt信息的流程: /** * 根

整合spring cloud雲架構-SSO單點登錄之OAuth2.0根據token獲取用戶信息(4)

ade RR 搭建過程 ret ces cep exception 技術 response 上一篇我根據框架中OAuth2.0的使用總結,畫了SSO單點登錄之OAuth2.0 登出流程,今天我們看一下根據用戶token獲取yoghurt信息的流程: /**

moment獲取天的23時59分59秒可以用moment().endOf(String),以及獲取天的000秒可以用moment().startOf('day')

-c att In string com sta sin nbsp monday 資料來源:https://segmentfault.com/a/1190000010045286 moment獲取天的23時59分59秒可以用moment().endOf(String

Android9.0對非 SDK 介面的限制

  在 Android 9.0 版本中,谷歌加入了非 SDK 介面使用限制,無論是通過呼叫、反射還是JNI等方式,開發者都無法對非 SDK 介面進行訪問,此介面的濫用將會帶來嚴重的系統相容性問題。 在開

Android 7.0以上系統獲取以content開頭的檔案拿不到正確路徑,報錯column-data-does-not-exist

我們專案的使用場景,手機qq開啟檔案,選擇其他開啟方式,選擇我們自己的應用開啟,通過intent.getData()獲取檔案地址,後來發現在Android7.0之後的版本,獲取到的地址不正確,說檔案不存在。日誌報錯column-data-does-not-exist, 經過一天的折騰,終於在網上

tp5.0定義路由 +隱藏介面url地址

php public function api(){       return view();     }     public function manage($id){  

vue專案中傳送請求獲取到的資料渲染到介面之後無法對其進行DOM操作的問題

vue.js通常鼓勵開發人員沿著“資料驅動”的方式思考,避免直接接觸DOM。this.$nextTick()將回調延遲到下次DOM更新迴圈之後執行。在修改資料之後立即使用它,然後等待DOM更新。它跟全域性方法vue.nextTick一樣,不同的是回撥的this自動繫結到呼叫它的例項上。 &nbs

vue-cli3.0 使用圖形化介面建立和管理專案

1.開啟終端輸入vue ui vue ui 2.建立專案 3.選擇一套預設,點選建立專案按鈕 4.等待安裝 5.安裝完成後    6.可以新增外掛 7.專案依賴管理 8.專案配置管理    9.

Tp5.0+PHPExcel.php實現excel列印資料

1.你的先下以一個類的擴充套件PHPEXcel.php (https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8),這個時候放的位置可有講究了,此處附圖 並參考Tp5線上手冊中的關於擴充套件類部分(https://www.kancloud

OkHttp3.0解析——談談內部的快取策略

前言 合理的利用本地的快取策略,可以有效的減少網路請求時候的網路開銷,減少響應的延遲。而在OkHttp3.0中的快取主要作用在快取攔截器CacheInterceptor裡面。所以現在我們就具體分析下CacheInterceptor中對快取的具體操作。 CacheInterceptor 我們都知道,OkH

Java架構-(十三) 整合spring cloud雲架構 - SSO單點登入之OAuth2.0 根據token獲取使用者資訊(4)

上一篇我根據框架中OAuth2.0的使用總結,畫了SSO單點登入之OAuth2.0 登出流程,今天我們看一下根據使用者token獲取yoghurt資訊的流程: Java程式碼 我這裡只是簡單寫了一些登出的程式碼,我們會在後面的文章中詳細貼出所有程式碼供大家參考,而且會從建立