2016-10-16 8 views
0

私はHttpPOSTを持っています:ルートを持つWebApi:http://blah/api/CarValues?userId=1&carId=5&value=12.12。 このWebApiはAzureに公開されており、私はPostman経由で呼び出すことができます。しかし、私はこのエンドポイントにデータを投稿しようとすると、私はこれを取得、私の迅速なアプリの中:ここSwiftからHttpPost Web APIをヒットできません

responseString = Optional("{\"Message\":\"No HTTP resource was found that matches the request URI \'http://blah.net/api/CarValues\'.\"}")

することは私の現在のコードです:

func postCarInfo() { 
     // Posts to cloud 

     var request = URLRequest(url: URL(string: webApiUrl)!) 
     request.httpMethod = "POST" 
     let postString = "userId=1&carId=5&value=200.00" 
     request.httpBody = postString.data(using: .utf8) 
     let task = URLSession.shared.dataTask(with: request) { data, response, error in 
      guard let data = data, error == nil else {             // check for fundamental networking error 
       print("error=\(error)") 
       return 
      } 

      if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {   // check for http errors 
       print("statusCode should be 200, but is \(httpStatus.statusCode)") 
       print("response = \(response)") 
      } 

      let responseString = String(data: data, encoding: .utf8) 
      print("responseString = \(responseString)") 
     } 
     task.resume() 


    } 

私がなぜわからないんだけどこれは動作していません。私はこのエンドポイントに郵便配達員を介して複数回成功してみました。そして、私はwebApiの他のgetメソッドにアクセスできます。 NSAppTransportSecurityNSAllowsArbitraryLoadsを許可するよう設定しましたが、依然としてエンドポイントにアクセスできません。

がすべてのヘルプは非常に多分これが関連している

答えて

1

いただければ幸いです。

WebAPI - Attribute Routing POST not working with WebAPI Cors?

あなたがルートにのparamsが含まれていた場合、paramsがない身体で、URL内に存在する必要があります要求の

これを試してみてください:

let paramString = "userId=1&carId=5&value=200.00" 
var request = URLRequest(url: URL(string: webApiUrl+"?"+paramString)!) 
request.httpMethod = "POST" 
let task = ... 
関連する問題