如何使用NSMutableURLRequest或Alamofire

时间:2016-08-17 23:21:55

标签: ios json swift alamofire nsurlrequest

我有正文令牌和customer_id。我想要进入身体。我还想传递包含x-access-token的头文件。这是我现在的代码

func sendToken(token:PSTCKToken, customer_id: Int){

    let url = NSURL(string: "urlGoesHERE")!
    let request = NSMutableURLRequest(URL: url)
    request.HTTPMethod = "POST"

    request.setValue("x-access-token", forHTTPHeaderField: "Bearer xxxxxxxxxxxx")

    let postBody = "token=\(token)&customer_id=\(customer_id)"

    let postData = postBody.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)

    let session = NSURLSession.sharedSession()

    session.uploadTaskWithRequest(request, fromData: postData, completionHandler: { data, response, error in
        let successfulResponse = (response as? NSHTTPURLResponse)?.statusCode == 200
        if successfulResponse && error == nil && data != nil{
            // All was well
            let newStr = NSString(data: data!, encoding: NSUTF8StringEncoding)
            print(newStr) // All we did here is log it to the output window
        } else {
            if let e=error {
                print(e.description)
            } else {
                // There was no error returned though status code was not 200
                print("There was an error communicating with  payment backend.")
                // All we did here is log it to the output window
            }

        }
    }).resume()
}

这是我使用NSMutableURLRequest的代码 如何使用NSMutableURLRequest或Alamofire

执行此操作

1 个答案:

答案 0 :(得分:2)

POST

创建一个通用的// MARK: Common Request func PostApiRequest(method: Alamofire.Method, url: String, apiData: [String : AnyObject], completion:(finished: Bool, response: AnyObject?) ->Void) { let headers = ["x-access-token": "Bearer xxxxxxxxxxxx"] Alamofire.request(method, url, parameters: apiData, encoding: .JSON, headers: headers).responseJSON{ response in if let JSON = response.result.value { completion(finished: true, response: JSON) } else { completion(finished: false, response:response.result.error) } } } 请求方法

let param = ["token":"token value here", "customer_id":"123456"]
    self.PostApiRequest(.POST, url: API_LOGIN, apiData: params) { (finished, response) in
    if(finished)
    {
    print(response)
    }
    else{

    }
    }

调用上述通用方法如下: -

UITextView