5
Alamofire 4でHTTP本体のデータを含むPOST要求をどのように送信できますか?私はswift 2.3でカスタムエンコーディングを使用していました。私はコードスウィフト3を変換し、コード化してエンコードしようとしましたが動作しませんでした。このコード:Alamofire 4で本体にデータを持つPOSTリクエスト
public struct MyCustomEncoding : ParameterEncoding {
private let data: Data
init(data: Data) {
self.data = data
}
public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest {
var urlRequest = try urlRequest.asURLRequest()
do {
urlRequest.httpBody = data
urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type")
} catch {
throw AFError.parameterEncodingFailed(reason: .jsonEncodingFailed(error: error))
}
return urlRequest
}
とAlamofire要求:
let enco : ParameterEncoding = MyCustomEncoding(data: ajsonData)
Alamofire.request(urlString, method: .post , parameters: [:], encoding: enco , headers: headers).validate()
.responseJSON { response in
switch response.result {
case .success:
print(response)
break
case .failure(let error):
print(error)
}
}
に以下のような要求を送信する必要があります。 – Cagatay
@Cagatayようこそ:) –
PHPでこのポスト配列にアクセスできません。ポスト配列はPHPでは空です。 PHPでポストパラメータを使う方法を教えてください –