iOS開発の新機能です。 swift 3
にalamofire
を使用しています。 alamofire
で投稿リクエストを送信するにはどうすればいいですか?また、メソッド内に余分な引数を与えます。ポストAPIにalamofireを使用するには
あなたのプロジェクトにalmofire
ライブラリを追加し、すべての事前
iOS開発の新機能です。 swift 3
にalamofire
を使用しています。 alamofire
で投稿リクエストを送信するにはどうすればいいですか?また、メソッド内に余分な引数を与えます。ポストAPIにalamofireを使用するには
あなたのプロジェクトにalmofire
ライブラリを追加し、すべての事前
まずにおけるおかげで、その後、メソッドの下に、あなたのViewControllerにalmofireインポートするには、あなたのボタンアクションに適用されます。
func webServiceLogin(isFbLogin:Bool,email:String,password:String)
{
var parameters:[String:String]?
parameters = ["hash":email as String,"key":password ]
Alamofire.request("your url", method: .post, parameters: parameters,encoding: URLEncoding.default, headers: nil).responseJSON {
response in
hideHud(self.view)
switch response.result {
case .success:
if let dictSuccess:NSDictionary = response.value as! NSDictionary?
{
}
break
case .failure(let error):
Alert.showAlertWithTitle(strTitle: appTitle, strMessage: error.localizedDescription, onView: self)
print(response)
print(error)
}
}
}
次のように使用して、サーバーに送信するパラメータを渡します。これを使用してネットワークレイヤークラスを作成すると、アプリケーション全体で再利用できるようになります。
static func serverRequest(urlString: URL?, Parameter:NSDictionary?, completion: @escaping (_ serverResponse: AnyObject?,_ error:NSError?)->()){
// let parameters: Parameters = ["foo": "bar"]
//let headers = ["Authorization": "123456"]
Alamofire.request(urlString!, parameters:nil, headers: nil).responseJSON { response in
if(response.result.value != nil){
let serverResponse = JSON(response.result.value!)
//print("Array value is \(serverResponse.arrayValue)")
completion(serverResponse as AnyObject?, nil)
}
else{
completion(nil, response.result.error as NSError?)
}
}
}
あなたがに見たことが
var alamoFireManager = Alamofire.SessionManager
let request = URLRequest(url:_yourULR)
request.HTTPMethod = requestMethod.rawValue
request.timeoutInterval = //set yours
request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
request.addValue("gzip", forHTTPHeaderField: "Accept-Encoding")
request.HTTPBody = "you_bodydataSTring".dataUsingEncoding(String.Ecoding.utf8)
alamoFireManager.request(request)
.validate()
.responseString { (response) -> Void in
let datastring = NSString(data:response.data!, encoding: String.Ecoding.utf8)
switch response.result {
case .Success:
if response.response?.statusCode == 200 {
//code for success
}else{
//others
}
case .Failure(let error):
//request failed
}
}
}
alamofireマネージャを使用することができます[これを?](http://stackoverflow.com/questions/27855319/post-request-with-a-simple-ストリング・イン・ボディ・アラモファイア) – Barak