Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Amazon Web服务swift中发布数据?_Ios_Swift_Amazon Web Services - Fatal编程技术网

Ios 如何在Amazon Web服务swift中发布数据?

Ios 如何在Amazon Web服务swift中发布数据?,ios,swift,amazon-web-services,Ios,Swift,Amazon Web Services,我使用此代码在swift的“Amazon Web服务”中发布数据 let userNameData = String("prnty").dataUsingEncoding(NSASCIIStringEncoding)! let passData = String("xxx").dataUsingEncoding(NSASCIIStringEncoding)! let tokenData = String("xxxxxx

我使用此代码在swift的“Amazon Web服务”中发布数据

            let userNameData =  String("prnty").dataUsingEncoding(NSASCIIStringEncoding)!
            let passData =  String("xxx").dataUsingEncoding(NSASCIIStringEncoding)!
            let tokenData =  String("xxxxxx").dataUsingEncoding(NSASCIIStringEncoding)!
            let deviceTypeData =  String("ios").dataUsingEncoding(NSASCIIStringEncoding)!

            Alamofire.upload(
                .POST,
                "https://xxxxx.execute-api.ap-southeast-1.amazonaws.com/dev/webserv",
                headers:["x-api-key":"xxxxxxxxx"],
                multipartFormData: { multipartFormData in

                    multipartFormData.appendBodyPart(data: userNameData, name: "username")
                    multipartFormData.appendBodyPart(data: passData, name: "password")
                    multipartFormData.appendBodyPart(data: tokenData, name: "token")
                    multipartFormData.appendBodyPart(data: deviceTypeData, name: "deviceType")
                },
                encodingCompletion: { encodingResult in
                    switch encodingResult {
                    case .Success(let upload, _, _):
                        upload.responseJSON { response in
                           print(response)

                        }
                    case .Failure(let encodingError):

                    print(encodingError)

                    }
                }
            )
我能够成功地通过AWS服务器的身份验证,但是。似乎数据并没有深入到我的服务器。OKClient在Android中运行良好
未获取post数据(为iOS获取nil post数据)*可能是什么错误?

如果您的服务器希望接收应用程序/json,则以下操作很有效:

let headers = ["x-api-key": "xxxxxxxxx"]

let parameters = [
    "userNameData": "prnty",
    "passData": "xxx",
    "tokenData": "xxxxxx",
    "deviceTypeData": "ios"
]

Alamofire.request(.POST, "https://xxxxx.execute-api.ap-southeast-1.amazonaws.com/dev/webserv", headers: headers, parameters: parameters, encoding: .JSON)
    .responseJSON { response in
        print(response.request)  // original URL request
        print(response.response) // URL response
        print(response.data)     // server data
        print(response.result)   // result of response serialization

        if let JSON = response.result.value {
            print("JSON: \(JSON)")
        }
}

如果没有,则不需要使用编码参数。

您可能需要从此代码段中删除
x-api-key
值(可能还有确切的URL)。感谢您的回复。但是删除“x-api-key”无效无法访问我们的服务器您应该删除api密钥,因为其他人可能会使用它,这可能会带来安全风险;)似乎您正在使用多部分/表单数据来发布数据,但您的服务器是否需要它?通常,除了上传文件之外,发布数据不使用它@诺丽。我需要用于ios的aws框架吗?我在其中没有找到任何POST请求api。有什么帮助吗?