最近在做公司工業(yè)互聯(lián)網(wǎng)的一個(gè)項(xiàng)目 之前做了一個(gè)ipad 版本的 在使用dio網(wǎng)絡(luò)請(qǐng)求框架的時(shí)候發(fā)現(xiàn)請(qǐng)求登錄的時(shí)候后臺(tái)一直報(bào)簽名錯(cuò)誤問(wèn)題? 檢查了幾遍寫(xiě)的簽名方法沒(méi)有發(fā)現(xiàn)錯(cuò)誤 后面仔細(xì)查了下 是服務(wù)器不能識(shí)別我傳的數(shù)據(jù)。。。
創(chuàng)新互聯(lián)公司主營(yíng)博州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開(kāi)發(fā)公司,博州h5微信小程序定制開(kāi)發(fā)搭建,博州網(wǎng)站營(yíng)銷(xiāo)推廣歡迎博州等地區(qū)企業(yè)咨詢(xún)
如果content-type是form-data 我們需要通過(guò)FormData類(lèi)來(lái)構(gòu)建數(shù)據(jù),否則服務(wù)器將無(wú)法識(shí)別
同時(shí)需要傳入一個(gè)Option指明content-type,而form-data的content-type完整類(lèi)型表述為:multipart/form-data
主要我是個(gè)新手啊?
查看源碼?
headers里面并有multipart/form-data 這個(gè)類(lèi)型啊? ? 講道理這個(gè)是常用的contentType啊 應(yīng)該要列出來(lái)才對(duì)啊?
咋整?
自己設(shè)置。。。。
后臺(tái)就可以正常接收表單參數(shù)了
網(wǎng)絡(luò)請(qǐng)求, 先想到的是dart官方維護(hù)的 http 庫(kù). 由于我們項(xiàng)目組網(wǎng)絡(luò)請(qǐng)求都采用的表單結(jié)構(gòu), http 貌似不支持表單格式的網(wǎng)絡(luò)請(qǐng)求; 后來(lái)查看 dio 庫(kù), 發(fā)現(xiàn)支持 FormData , 完美解決!
官方表單網(wǎng)絡(luò)請(qǐng)求示例:
比葫蘆畫(huà)瓢, 嘗試下
dio 是一個(gè)國(guó)產(chǎn)巨佬寫(xiě)的一個(gè)Flutter的網(wǎng)絡(luò)請(qǐng)求庫(kù),寫(xiě)這篇的文章的時(shí)候更新到3.x版本了。這里是他的 官方中文 使用鏈接: dio
按照原作者所說(shuō):
我這里這個(gè)時(shí)候的是一個(gè)3.0.9版本,這里的 ^ 符號(hào),表示3.多的庫(kù)比如說(shuō)3.1.1啥的,也能更新下來(lái)。
dio 的原作者給了我們一個(gè)簡(jiǎn)單的例子
我們基礎(chǔ)的使用,請(qǐng)求一個(gè)URL,這里就直接是 Dio().get(".****.com") 。這樣就可以通過(guò)get方式來(lái)請(qǐng)求我們的鏈接。
在我們項(xiàng)目中,我們當(dāng)然不能直接使用 Dio().get(".****.com") 這樣的方法,那樣的話(huà)如果以后我們要更換網(wǎng)絡(luò)請(qǐng)求的庫(kù)的話(huà),我們要修改的地方,就會(huì)非常的多。類(lèi)似的問(wèn)題,曾經(jīng)在iOS開(kāi)發(fā)的歷史上出現(xiàn)過(guò)一次。最初的時(shí)候iOS的開(kāi)發(fā)者大多使用的是一個(gè)叫 ASI 的庫(kù),但是在過(guò)了幾年的時(shí)候,這個(gè)庫(kù)不在維護(hù)了。這時(shí)候,我們就會(huì)去找一個(gè)新的網(wǎng)絡(luò)庫(kù)來(lái)代替他。當(dāng)時(shí)如果我們有500個(gè)文件中都直接使用 ASI ,我們就需要改動(dòng)500個(gè)地方。這樣的體力和眼力消耗,實(shí)在是太驚人了。所以,我們一般會(huì)自己創(chuàng)建一個(gè)專(zhuān)門(mén)的 網(wǎng)絡(luò)管理 的類(lèi) NetworkManager 。在 NetworkManager 里,我們把調(diào)用方法抽取出一個(gè)基礎(chǔ)的方法,使用的時(shí)候,基于這個(gè)基礎(chǔ)的方法來(lái)調(diào)用。這樣,我們就能很方便的去進(jìn)去使用和維護(hù)。
這個(gè)時(shí)候我們就可以使用我們創(chuàng)建的類(lèi)來(lái)直接調(diào)用我們的方法了。
這樣,我們的 dio 的初步使用就完成了。下一篇文章來(lái)寫(xiě) dio 的進(jìn)階使用。