2017-09-02 27 views
-2

我目前正在努力使來自我的應用程序後要求我休息服務不提交。斯威夫特3 POST請求數據時,內容類型設置好的

Following image shows my code

現在,當我不設置Content-Type值的要求,我的REST的服務獲取數據,而不是爲JSON。 我認爲,設置內容類型頭將是解決方案,但是當它設置時,我的休息服務會收到NO數據。 (但頭部被正確地設置好的「應用/ JSON ...」 我是新來的迅速,我想知道,如果有人可以幫助我解決這個問題。

謝謝!

+2

請不要張貼代碼爲圖片。 [編輯]你的問題,並用你的實際代碼替換圖片,作爲文本,複製和粘貼。代碼圖片無法搜索或引用。 – rmaddy

+0

您是否100%確定Web服務期望JSON,並且您提供的JSON格式正確? – Rob

+0

不相關,不要使用'NSMutableURLRequest'。做'var request = URLRequest(url:url!)',然後轉換成'URLRequest'將不再需要。 – Rob

回答

0

我會。建議使用Alamofire聯網斯威夫特請求此外,如果你的交易與JSON數據我會用SwiftyJSON庫然後你就可以使網絡的請求是這樣的:

//start activity indicator here 

    Alamofire.request("https://urlhere.com" , method: .post).validate().responseJSON { response in 

     switch response.result { 

     case .success(let value): 

       if let json = JSON(value) { 

       let name = json["name"].stringValue 

       //hide activity indicator here 

       } 
       else 
       { 
       //No data returned 
       } 

     case .failure(let error): 
      print(error) 
      //show error indicator here 

     } 

    } 

如果響應返回了200的範圍內,你可以運行一些代碼,如果它返回其他任何東西都會失敗,你可以在那裏發現任何錯誤t並停止以下代碼中的活動指示符,以便用戶獲悉發生後臺操作的一些注意事項。

編輯:這一切都假定您的Web服務返回JSON數據。我沒有任何方法可以驗證,但是如果確實如此,取回它應該非常簡單。