最近在做購物車刪除商品時,發(fā)送DELETE請求時報參數(shù)為空。初步懷疑為請求的參數(shù)不正確,但是和后臺和安卓端確認后參數(shù)并沒有問題,使用postman測試時也沒有問題。最后懷疑是AFN的問題。
最后查找資料后有一種說法的DELETE方式和GET或者HEAD方式使用了同樣的方法,所以后臺是接受不到數(shù)據(jù)。

1.jpg

2.jpg
另外一種說法是AFN默認把get head delete方法的請求參數(shù)拼到了url的后面,從源碼看和上面的說法其實是一致的。
解決方法為重寫下面這個屬性,移除了@"DELETE" 。這樣AFN在發(fā)送DELETE請求時把參數(shù)json序列化,這樣后臺能成功接收。
manager.requestSerializer.HTTPMethodsEncodingParametersInURI = [NSSet setWithObjects:@"GET", @"HEAD", nil];