get
:顯示伺服器資源
post
:建立相關資源
delete
: 刪除相關資源
put/patch
:更新相關資源
retrofit retrofit =newretrofit.builder()
.baseurl("")
.addconverte***ctory(gsonconverte***ctory.create())
.build();
get
樣式1(乙個簡單的get請求)
@get("news")
call getitem();
樣式2(url中有引數)
/1
/@get("news/")
call getitem(@path("newsid")string newsid);
或/1/型別1
//@get("news//")
call getitem(@path("newsid")string newsid, @path("type")string type);
樣式3(引數在url問號之後)
?newsid=1
?newsid=
@get("news")
call getitem(@query("newsid") string newsid);
或?newsid=1&type=型別1
?newsid=&type=
@get("news")
call getitem(@query("newsid") string newsid, @query("type") string type);
樣式4(多個引數在url問號之後,且個數不確定)
?newsid=1&type=型別1...
?newsid=&type=...
@get("news")
call getitem(@querymap map map);
也可以@get("news")
call getitem(@query("newsid")string newsid,@querymap map map);
post
樣式1(需要補全url,post的資料只有一條reason)
@formurlencoded
@post("comments/")
call reportcomment(@path("newsid") string commentid,@field("reason") string reason);
樣式2(需要補全url,問號後加入access_token,post的資料只有一條reason)
?access_token=1234123
?access_token=
@formurlencoded
@post("comments/")
call reportcomment(@path("newsid") string commentid,@query("access_token") string access_token,@field("reason") string reason);
樣式3(需要補全url,問號後加入access_token,post乙個body(物件))
?access_token=1234123
?access_token=
@post("comments/")
call reportcomment(@path("newsid") string commentid, @query("access_token") string access_token,@body commentbean bean);
delete
樣式1(需要補全url)
@delete("comments/")
call deletenewscommentfromaccount(@path("commentid") string commentid);
樣式2(需要補全url,問號後加入access_token)
?access_token=1234123
?access_token=
@delete("comments/")
call deletenewscommentfromaccount(@path("accountid")string accountid, @query("access_token")string access_token);
put
(這個請求很少用到,例子就寫乙個)
@put("accounts/")
call updateextras(@path("accountid")string accountid, @query("access_token")string access_token, @body extrasbean bean);
總結
@path:所有在**中的引數(url的問號前面),如:
@query:url問號後面的引數,如:
@querymap:相當於多個@query
@field:用於post請求,提交單個資料
@fieldmap:以map形式提交多個field(retrofit2.0之後新增)
@body:相當於多個@field,以物件的形式提交
tips
tip1
使用@field時記得新增@formurlencoded
tip2
若需要重新定義介面位址,可以使用@url,將位址以引數的形式傳入即可。
tip3
@path 和@query的區別
相同點:都是請求頭中的帶有的資料
不同點:前者是請求頭中問號之前用於替換url中變數的字段,後者是請求頭問號之後用於查詢資料的字段,作用和應用場景都不同
Android 開發筆記
版本控制的注意事項 以下資料夾不要加入版本控制 bin bin是編譯的二進位制檔案的存放路徑 gen gen是android需要的資源檔案的原始檔存放的目錄 使用svn的時候要注意專案編譯的問題 在編譯的時候程式會把src資料夾裡面的檔案拷貝到bin裡面,但是svn是每個資料夾裡面都包含乙個隱藏的....
ORACLE 開發筆記
oracle 日期 submitdate datetime.parse submitdate tostring d m月 yyyy to date 2002 01 02 yyyy m dd select count 1 from l perm where cancel y and sysdate p...
開發筆記2
開發筆記2 2012 5 4 周五 系統報警資訊傳送程式開發。其它程式收集了報警資訊,如 硬碟滿 硬碟壞 網路連不通 使用者欠費 硬體裝置無法訪問等,這些程式已經實現了插入資料到幾張不同型別的表,類似流水日誌表,狀態變化表。我則在這個基礎上,對這些表寫個簡單觸發器,觸發器盡量簡單,然後呼叫同乙個儲存...