Retrofit結合RxJava簡單get/post請求(傳參)
ApiServices:
public interface ApiServices {
//post請求:第一個引數url,可以傳遞為空,不能不寫,第二個map集合為引數
@POST
Observable<PageBean> postPage(@Url String url, @QueryMap Map<String,String> map);
//get請求:直接把引數拼接成url即可
@GET
Observable<PageBean> getPage(@Url String url);
}
get請求:
public void get(){
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//baseUrl:引數之前的部分
.baseUrl("https://api.tianapi.com/wxnew/")
.build();
ApiServices services = retrofit.create(ApiServices.class);
//params1:所有引數進行拼接就可以
Observable<PageBean> observable = services.getPage("?key=8d6e3228d25298f13af4fc40ce6c9679&page=1&num=10");
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<PageBean>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Log.d("heihei", "onError: 失敗");
e.printStackTrace();
}
@Override
public void onNext(PageBean pageBean) {
Log.d("heihie", "onNext: " + pageBean.getMsg());
}
});
}
post請求:
public void post(){
Retrofit retrofit = new Retrofit.Builder()
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
//baseUrl:引數之前的部分
.baseUrl("https://api.tianapi.com/wxnew/").build();
ApiServices services = retrofit.create(ApiServices.class);
HashMap<String,String> map = new HashMap<>();
map.put("key","8d6e3228d25298f13af4fc40ce6c9679");
map.put("num","10");
map.put("page","2");
//parames1:url傳空字串就可以,但是不能不寫
Observable<PageBean> postPage = services.postPage("", map);
postPage.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<PageBean>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Log.d("heihei", "onError: 失敗");
e.printStackTrace();
}
@Override
public void onNext(PageBean pageBean) {
Log.d("heihie", "onNext: " + pageBean.getMsg());
}
});
}
依賴:
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'
compile 'io.reactivex:rxandroid:1.1.0'
相關推薦
Retrofit結合RxJava簡單get/post請求(傳參)
ApiServices: public interface ApiServices { //post請求:第一個引數url,可以傳遞為空,不能不寫,第二個map集合為引數 @POS
Vue:axios中POST請求傳參問題
color catch str ios 接收 django框架 nsf head con vue的ajax請求用的是axios組件,結果在用到post請求的時候,發現給後臺傳data時,後臺(python語言+django框架)接收不到。 後臺的request.body顯示
Vue:axios中POST請求傳參問題---傳遞數組 (補充)
form div 個數 json array 利用 val 失敗 轉化 在上一篇文章中提到的------transformRequest方法,也會將數組解析成字符串傳給後臺。 那麽如何避免這個問題? (一) 將數組轉化為json字符串 通過JSON.stringify()轉
WebApi中Post請求傳參時後端的接收方式
1.單引數 [FromBody]+變數方式(不推薦):如public string PostUser([FromBody] string user_id){} 由於我們的前端習慣用key/value的方式進行請求,而此法要求key為空,有點不三不四,程式碼不規範,故此不推薦。總不能都是你寫的
如何呼叫http介面通過get()/post()方法傳參
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.
php 中使用cURL發送get/post請求,上傳圖片,批處理
cit gda 抓取 記錄 rem 學習 網頁 lose XML https://mp.weixin.qq.com/s/8luqMEd8xt8oJxFLLCU1XA 文章正文 cURL是利用url語法規定傳輸文件和數據的工具。php中有curl拓展,一般用來實現網絡抓取,模
C++ 簡單實現HTTP GET/POST 請求
轉載出處:詳情http://m.blog.csdn.net/article/details?id=16336713 HTTP(超文字傳輸協議)是一種客戶端與服務端的傳輸協議,最早用於瀏覽器和伺服器之間的通訊,後來因為其使用靈活、方便等特點,廣泛用於客戶端與服務端的通訊。文章
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
Java-簡單的 傳送http get/post請求 呼叫介面/方法
例子如下:1.請求引數srequestUrl 是你要傳送的介面引數用map 存起來 sRet 是返回值 如果傳送的介面有的話就寫 然後呼叫 NetUtils.requset請求 (介面,引數,get/post(選擇一種傳送方式))String sRequestUrl ="ht
簡單get/post方法http請求工具類,帶head引數
package com.***.util; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URISyntaxException; import
node10---GET請求和POST請求的參數
gin ida host req div lis ble form 文件上傳 GET請求的參數在URL中,在原生Node中,需要使用url模塊來識別參數字符串。在Express中,不需要使用url模塊了。可以直接使用req.query對象。 ● POST請求在expres
【node.js】GET/POST請求、Web 模塊
ima esp ges 實例 bst node.js 參數 模塊 pos 獲取GET請求內容 node.js 中 url 模塊中的 parse 函數提供了這個功能。 var http = require(‘http‘); var url = require(‘url‘);
Node params和query的Get請求傳參
框架 http 添加屬性 創建 amp app console uid type //1:加載http express框架//2:創建服務器const http = require("http");const express = require("express");var
request.getParameterNames獲得請求參數的名字(Get或者Post請求的參數都可以)
獲取 java util next 發送 parameter 子類 所有 tel 1 protected Map<String, String> initRequestParams(HttpServletRequest request) { 2
servlet 中get,post請求亂碼問題
post請求 servlet blog images 亂碼問題 bsp 技術分享 servle alt servlet 中get,post請求亂碼問題
php CURL 發送get,post請求
get請求 超時 etop 上傳 func fun 發送請求 地址 res // 發送一個get請求 $url 發送地址 function get($url) { //初始化操作 $curl = curl_init($url);
node的express框架,核心第三方模塊body-parser 獲取我們所有post請求傳過來數據
賦值 傳遞 xtend 接收 返回 .json oca data host - 安裝 body-parser模塊- npm install body-parser -S- 調用- let bodyParser=require(‘body-parser‘);- 設置中間件-
2017年10月18日-php curl get post請求
window check span cnblogs req 總結 比較 小結 cap 一、CURL小結 個人將歸納curl請求總結成三步 1、創建curl 句柄(curl_init),並設置參數(curl_setopt)(打開冰箱)
Java發送http get/post請求,調用接口/方法
strong org 釋放 github string charset 獲取url lean catch 由於項目中要用,所以找了一些資料,整理下來。 GitHub地址: https://github.com/iamyong 轉自:http://blog.csdn.n
httpclient get/post請求
ror dpa line 響應 get execute 對象 handle 判斷網絡連接 public static String httpPost(String url, JSONObject json) { String respContent = null; tr