dio的使用方式有很多,我就只選出我認(rèn)為最好用的api方式做下記錄,把get成post就是post請求了,網(wǎng)絡(luò)請求都用的百度的api,實(shí)際上的response沒有任何意義,所以只要打印出response有值即可。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、靈川網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為靈川等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1.最簡單的請求例子,網(wǎng)絡(luò)請求是異步的所以用async await
2.帶有參數(shù)的get請求
3.自定義請求頭,可定義的請求頭dart已經(jīng)為我們提供了專門的類存了對應(yīng)的字符,引入以下庫,就能使用 HttpHeaders
一般我們請求接收到的數(shù)據(jù)是json格式,如'accept: application/json',我們就可以這樣自定義請求頭
4.使用Baseoptions
其他詳細(xì)參數(shù)設(shè)置參考如下:
dio 是一個國產(chǎn)巨佬寫的一個Flutter的網(wǎng)絡(luò)請求庫,寫這篇的文章的時候更新到3.x版本了。這里是他的 官方中文 使用鏈接: dio
按照原作者所說:
我這里這個時候的是一個3.0.9版本,這里的 ^ 符號,表示3.多的庫比如說3.1.1啥的,也能更新下來。
dio 的原作者給了我們一個簡單的例子
我們基礎(chǔ)的使用,請求一個URL,這里就直接是 Dio().get(".****.com") 。這樣就可以通過get方式來請求我們的鏈接。
在我們項目中,我們當(dāng)然不能直接使用 Dio().get(".****.com") 這樣的方法,那樣的話如果以后我們要更換網(wǎng)絡(luò)請求的庫的話,我們要修改的地方,就會非常的多。類似的問題,曾經(jīng)在iOS開發(fā)的歷史上出現(xiàn)過一次。最初的時候iOS的開發(fā)者大多使用的是一個叫 ASI 的庫,但是在過了幾年的時候,這個庫不在維護(hù)了。這時候,我們就會去找一個新的網(wǎng)絡(luò)庫來代替他。當(dāng)時如果我們有500個文件中都直接使用 ASI ,我們就需要改動500個地方。這樣的體力和眼力消耗,實(shí)在是太驚人了。所以,我們一般會自己創(chuàng)建一個專門的 網(wǎng)絡(luò)管理 的類 NetworkManager 。在 NetworkManager 里,我們把調(diào)用方法抽取出一個基礎(chǔ)的方法,使用的時候,基于這個基礎(chǔ)的方法來調(diào)用。這樣,我們就能很方便的去進(jìn)去使用和維護(hù)。
這個時候我們就可以使用我們創(chuàng)建的類來直接調(diào)用我們的方法了。
這樣,我們的 dio 的初步使用就完成了。下一篇文章來寫 dio 的進(jìn)階使用。
網(wǎng)絡(luò)請求, 先想到的是dart官方維護(hù)的 http 庫. 由于我們項目組網(wǎng)絡(luò)請求都采用的表單結(jié)構(gòu), http 貌似不支持表單格式的網(wǎng)絡(luò)請求; 后來查看 dio 庫, 發(fā)現(xiàn)支持 FormData , 完美解決!
官方表單網(wǎng)絡(luò)請求示例:
比葫蘆畫瓢, 嘗試下