前言:在開發(fā)新的項(xiàng)目過程中,總會(huì)遇到各種各樣之前見過沒見過的問題,比如昨天,跟新同事對(duì)接口的時(shí)候,告訴我不是傳的普通方式的parameters,而是JSON報(bào)文格式的,對(duì)于從來沒這么搞過的我是欲哭無淚啊,各種度娘G爺?shù)?,最后靈光一閃,搞出來了,特此記錄一下!
前提條件:swift3.0 、有接口
我以我們登錄接口為例:
在登錄按鈕的點(diǎn)擊事件里面,將url、parameter定義好(定義就不用說了吧)之后,開始寫Alamofire網(wǎng)絡(luò)請(qǐng)求
Alamofire.request(URLString, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil)
.validate()
.responseJSON { response in
CK().dismissMask()
switch response.result{
case .success:
if let value = response.result.value{
//把得到的JSON數(shù)據(jù)轉(zhuǎn)為字典
complicate(value as AnyObject)
}
case .failure:
DMCAlertCenter.default().postAlert(withMessage: "請(qǐng)求失敗")
return
}
}
可以看到在encoding的地方我使用的是JSONEncoding,而我們一般用的是URL的編碼格式,就這一點(diǎn)是解決這個(gè)問題的關(guān)鍵!
現(xiàn)在關(guān)于這個(gè)的文章不是太多,大多數(shù)是寫如何將參數(shù)(字典)轉(zhuǎn)為json字符串的,因?yàn)樵谡业阶罱K原因之前我也試了那個(gè)方法,但是請(qǐng)求的地方就會(huì)報(bào)錯(cuò),所以希望這點(diǎn)能幫到遇到同樣的問題的朋友。