আপনার উদাহরণটিতে Alamofire.request(.POST, "http://mywebsite.com/post-request", parameters: ["foo": "bar"])
ইতিমধ্যে তার শরীর হিসাবে "foo = বার" স্ট্রিং রয়েছে। আপনি যদি সত্যিই কাস্টম ফর্ম্যাট সঙ্গে স্ট্রিং চান। তুমি এটি করতে পারো:
Alamofire.request(.POST, "http://mywebsite.com/post-request", parameters: [:], encoding: .Custom({
(convertible, params) in
var mutableRequest = convertible.URLRequest.copy() as NSMutableURLRequest
mutableRequest.HTTPBody = "myBodyString".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
return (mutableRequest, nil)
}))
দ্রষ্টব্য: parameters
হওয়া উচিত নয়nil
আপডেট (অ্যালামোফায়ার 4.0, সুইফট 3.0):
আলমোফায়ারে ৪.০ এপিআই পরিবর্তন হয়েছে। সুতরাং কাস্টম এনকোডিংয়ের জন্য আমাদের মান / অবজেক্টের প্রয়োজন যা ParameterEncoding
প্রোটোকলের সাথে সঙ্গতিপূর্ণ।
extension String: ParameterEncoding {
public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest {
var request = try urlRequest.asURLRequest()
request.httpBody = data(using: .utf8, allowLossyConversion: false)
return request
}
}
Alamofire.request("http://mywebsite.com/post-request", method: .post, parameters: [:], encoding: "myBody", headers: [:])