0恬砂、緣起
這周和后臺進(jìn)行聯(lián)調(diào)夺鲜,不是我這邊出一點(diǎn)問題,就是后臺出點(diǎn)問題吝沫。
很多時(shí)候爬坑,都是看起來很弱智的問題纠屋。
盡管這些問題,在調(diào)試成功之后盾计,大家都會覺得是小問題售担。就好像,那些總是考試得99分的同學(xué)署辉,從來不會認(rèn)真去想想自己那一分到底錯在哪里族铆?
所以,我打算把這些我自己經(jīng)常犯的傻逼錯誤記錄下來哭尝。作為一個(gè)檢查清單哥攘,作為下次聯(lián)調(diào)的執(zhí)行套路。
主要針對前端檢查材鹦。
1逝淹、檢查路線
1、檢查自己的URL是否桶唐,拼接錯誤栅葡。這一條,可以使用postman尤泽,向后臺發(fā)出請求欣簇。一檢查就知道了规脸。
2、postman成功后醉蚁,對照檢查自己的URL燃辖,特別是檢查參數(shù)的格式。
3网棍、如果檢查完畢之后黔龟,還是無法從后臺得到數(shù)據(jù)。
大概可以這樣排查:
1滥玷、環(huán)境問題
問清楚后臺氏身,現(xiàn)在的后臺到底是線上環(huán)境還是測試環(huán)境?這一點(diǎn)惑畴,經(jīng)常會坑死人蛋欣。因?yàn)椋畔贤ú怀浞秩绱M耆赡芎馁M(fèi)幾個(gè)小時(shí)在上面陷虎。一點(diǎn)不夸張。我不止一次在這上面犯錯杠袱。盡管事后都罵自己是個(gè)傻子尚猿。
2、WiFi問題
線上環(huán)境楣富,一般是外網(wǎng)可以訪問的凿掂。測試環(huán)境,一般只有公司內(nèi)部的WiFi可以訪問纹蝴。
但手機(jī)本身是不會識別的庄萎。所以在測試之前,最好檢查一下WiFi塘安。
有的公司真的很奇葩糠涛。有的WiFi,兩個(gè)環(huán)境都能訪問兼犯,有的只能訪問一個(gè)環(huán)境脱羡。
痛苦的事,很多時(shí)候免都,WiFi改變了訪問權(quán)限還不周知。帆竹。绕娘。所以,也要檢查一下栽连。
3险领、賬號問題
很多APP都是需要登錄進(jìn)行測試的侨舆。
線上環(huán)境和測試環(huán)境的賬號肯定是不一樣的。
注意不要用錯绢陌。
2挨下、參數(shù)格式問題
對于網(wǎng)絡(luò)請求,處理最多的就是POST請求脐湾。
對于參數(shù)的傳遞臭笆,也基本都是使用組裝的 NSDictionary。
畢竟秤掌,字典的結(jié)構(gòu)和JSON是一樣的愁铺。
偶爾會出現(xiàn)一些不一樣的情況。
例如:
參數(shù)是這個(gè)樣子:
@{
@"catalog" : catalog,
@"info" : info對象
}
info 對象肯定也是一個(gè)字典闻鉴。
我采取常規(guī) NSDictionary 的方式茵乱,傳遞參數(shù)的時(shí)候。
網(wǎng)絡(luò)請求總是失敗孟岛。
所以換了另外一種方式瓶竭。把 info對象,轉(zhuǎn)換成 JSON字符串渠羞。使用方法如下:
NSError *parseError = nil;
//info 就是字典
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:info options:NSJSONWritingPrettyPrinted error:&parseError];
NSString *str = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
最后參數(shù)變成:
@{
@"catalog" : catalog,
@"info" : str //已經(jīng)是JSON字符串
}
和這相似的還有數(shù)組數(shù)據(jù)的上傳斤贰。
3、小結(jié)
盡管很多小的問題堵未,看起來都很不起眼腋舌。
但正是這些看起來有點(diǎn)弱智的問題,會白白讓人浪費(fèi)許多時(shí)間渗蟹。
希望块饺,留給自己和大家一些借鑒。