今天來講一下簡單的問題,不知道要怎麼稱呼這一篇,就姑且叫呼叫Web Service除錯吧~
其實就是串API時所發現的奇異問題!使用Postman或Chrome呼叫都很成功回傳我要的資料,卻在寫進iOS中卻得到不預期的結果,先前有提到過Basic Authentication,程式傳遞token後,回傳結果表示沒有傳遞token給server,明明就是照先前的code複製貼上修改API Function名稱,這次居然有問題讓我很納悶。
人不是萬能,總得要投降來找救兵,以便跳出框框,看見問題的癥結。還是找我們寫後台的資深工程師幫忙查看,搞了兩小時多,Function名稱換掉也一樣,最後資深工程師發現,原來URL不小心多打一個「/」~
錯:
http://happystudio.notebook.com:5000/api/ecg/?start_date=2017-10-18&end_date=2017-11-17
對:
http://happystudio.notebook.com:5000/api/ecg?start_date=2017-10-18&end_date=2017-11-17
原因:?前多一個/
那為何Postman或Chrome測試沒有問題?因為這兩個工具會自動把沒有「/」,變成有「/」,來符合後台的API格式,然而iOS SDK就沒做這個容錯處理。這要歸類成相容性問題嗎?其實複製URL貼上到Chrome測試,我就有發現網址會跳成有「/」。
花了點時間,算是幫後台debug啦~
隨意留個言吧:)~