2015-10-31 2 views
2

Мне нужна помощь с помощью Alamofire, чтобы сделать POST на веб-страницу, используя имя пользователя/пароль, передающий API из Twilio.iOS http POST с использованием Alamofire

Раньше я использовал SwiftRequest от GitHub, но это не поддерживает Swift 2.0.

Код я использовал (с помощью SwiftRequest) было:

 var data = [ 
      "To" : mobileInput.text as String!, 
      "From" : twilioSMSFrom, 
      "Body" : String(code) as String 
     ] 

     var swiftRequest = SwiftRequest() 

     swiftRequest.post("https://api.twilio.com/2010-04-01/Accounts/\(twilioUsername)/Messages", 
      auth: ["username" : twilioUsername, "password" : twilioPassword], 
      data: data, 
      callback: {err, response, body in 
       if err == nil { 
        println("Success: \(response)") 
       } else { 
        println("Error: \(err)") 
       } 
      }) 

Как я могу перевести это использовать Alamofire вместо этого?

Я искал какое-либо решение, но мог бы найти любой.

Может кто-нибудь мне помочь?

ответ

1

Я понял это.

Решение с использованием Alamofire:

 let data = [ 
      "To" : mobileInput.text as String!, 
      "From" : twilioSMSFrom, 
      "Body" : String(code) as String 
     ] 

     Alamofire.request(.POST, "https://\(twilioUsername):\(twilioPassword)@api.twilio.com/2010-04-01/Accounts/\(twilioUsername)/Messages", parameters: data) 
      .responseJSON { response in 
       print(response.request) 
       print(response.response) 
       print(response.result) 
     } 
2

попробовать что-то вроде этого:

Alamofire.request(.POST, "https://api.twilio.com/2010-04-01/Accounts/\(twilioUsername)/Messages", parameters: ["username": twilioUsername, "password" : twilioPassword]) 
    .responseJSON { response in 
     print(response.request) 
     print(response.response) 
     print(response.result) 

     if let JSON = response.result.value { 
      print("Did receive JSON data: \(JSON)") 
     } 
     else { 
      print("JSON data is nil.") 
     } 

     } 

Вы должны обязательно проверить свою страницу GitHub - https://github.com/Alamofire/Alamofire

+0

Это вернуло УСПЕХ, но ваш ответ не включал часть данных. Как я могу обеспечить отправку данных? –

+0

Я отредактировал свой ответ с примером данных JSON. – Superian007

+0

Прошу прощения, но не достаточно точно. Я имел в виду, что часть данных должна быть отправлена ​​в POST, чтобы иметь возможность получить необходимые данные в результате. Я проверил ваш код, и он ответил, что данные JSON равны нулю, как и ожидалось. –

0

Это последний ответ SWIFT 2.2 VERSION попробовать этот его помогает вам ....

ПАРАМЕТРЫ: -

let params : Dictionary = ["YourKEY" : "YourVALUE"] 

сообщение Request_Form: -

Alamofire.request(.POST,"Post Your Url HERE", parameters: params, encoding:.JSON).responseJSON 
     { 
      response in switch response.result 
      { 
        case .Success(let JSON): 
     // print("Success with JSON: \(JSON)") 
      //converting json into NSDictionary 

      let response = JSON as! NSDictionary 
      print(response) 

      var array = NSMutableArray!() 
      //converting respose form into NSMutableArray formate 
      array = response.valueForKey("countryList")as? NSMutableArray 

      //example if there is an id 
      // let userId = response.objectForKey("id")! 

     case .Failure(let error): 
      print("Request failed with error: \(error)") 
      } 
    } 
Смежные вопросы