2017-09-02 16 views
-2

私は現在、自分のアプリケーションから投稿サービスに投稿要求を出そうとしています。Swift 3コンテンツタイプが設定されていると、投稿要求のデータが送信されません。

Following image shows my code

私が要求にContent-Typeの値を設定しないとき今、私の残りのサービスは、なく、JSONなどのデータを取得します。 私はコンテンツタイプのヘッダーを設定するのが解決策だと思っていましたが、設定されていれば私の休憩サービスはNOデータを受け取ります。 (しかし、ヘッダは、私が迅速に新たなんだと誰かがこの問題を解決するために私を助けることができれば、私は思ったんだけど 「...アプリケーション/ JSON」と正しくsettedている。

ありがとう!

+2

投稿しないでくださいコードを確認する任意のポスターのプラグインで、これを確認することができます。あなたの質問を[編集]して、実際のコードをテキストとしてコピーして貼り付けます。コードの画像を検索または参照することはできません。 – rmaddy

+0

WebサービスがJSONを期待しており、提供されたJSONが正しい形式であることを100%確信していますか? – Rob

+0

無関係に、 'NSMutableURLRequest'を使用しないでください。 'var request = URLRequest(url:url!)'を実行すると、 'URLRequest'へのキャストはもはや必要ありません。 – Rob

答えて

0

を私は考え。私はSwiftyJSONライブラリを使用するであろう。またあなたはJSONデータを扱う場合スウィフトで要求をネットワーク化Alamofireを使用することをお勧め次に、あなたがこのようなネットワーキング要求することができます:応答が200の範囲内に戻った場合

//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 

     } 

    } 

を、あなたいくつかのコードを実行することができますし、何か他のものが戻ってくると失敗し、エラーをキャッチできます。次のコードでアクティビティインジケータを停止し、バックグラウンドアクションが発生していることをユーザーに通知します。

編集:このすべては、WebサービスがJSONデータを返すことを前提としています。私は検証する方法はありませんが、もしそうであれば、それを取得するのはかなり簡単なはずです。コンテンツタイプがJSONまたはプレーンテキストであれば、バックエンドの開発者との

関連する問題