RxAlamofire 使用 json 主体进行 post 调用
RxAlamofire make post call with json body
我想使用 RxAlamofire 进行 post 调用,但无法找到任何方法
尝试使用 requestJSON 方法但没有参数可传递 post json in
RxAlamofire.requestJSON(.post, url)
如何在 RxAlamofire
中进行 post 调用并将 json 数据传递给 post 调用
使用此函数和适当的参数编码
public func urlRequest(_ method: Alamofire.HTTPMethod,
_ url: URLConvertible,
parameters: [String: Any]? = nil,
encoding: ParameterEncoding = URLEncoding.default,
headers: [String: String]? = nil)
使用以下代码
var request = URLRequest(url: URL(string: "https://some_url")!)
//Following code to pass post json
request.httpBody = json
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
RxAlamofire.request(request as URLRequestConvertible).responseJSON().asObservable()
使用 jsonEncoding
RxAlamofire.requestJSON(.post, url, encode: JsonEncoding.default)
对我有用~
amodkanthe 的解决方案有效。但是它的 return 值并不友好。所以我稍微改了一下
var request = URLRequest(url: URL(string: "https://some_url")!)
request.httpBody = jsonData // jsonData is a Data type
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type") // this line is important
RxAlamofire.requestJSON() //=> returns a Observable<(HttpURLResponse, Any)>, the `Any` type is actually a dictionary
p.s。我使用的版本是 RxAlamofire(6.1.1)
我想使用 RxAlamofire 进行 post 调用,但无法找到任何方法
尝试使用 requestJSON 方法但没有参数可传递 post json in
RxAlamofire.requestJSON(.post, url)
如何在 RxAlamofire
中进行 post 调用并将 json 数据传递给 post 调用使用此函数和适当的参数编码
public func urlRequest(_ method: Alamofire.HTTPMethod,
_ url: URLConvertible,
parameters: [String: Any]? = nil,
encoding: ParameterEncoding = URLEncoding.default,
headers: [String: String]? = nil)
使用以下代码
var request = URLRequest(url: URL(string: "https://some_url")!)
//Following code to pass post json
request.httpBody = json
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
RxAlamofire.request(request as URLRequestConvertible).responseJSON().asObservable()
使用 jsonEncoding
RxAlamofire.requestJSON(.post, url, encode: JsonEncoding.default)
对我有用~
amodkanthe 的解决方案有效。但是它的 return 值并不友好。所以我稍微改了一下
var request = URLRequest(url: URL(string: "https://some_url")!)
request.httpBody = jsonData // jsonData is a Data type
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type") // this line is important
RxAlamofire.requestJSON() //=> returns a Observable<(HttpURLResponse, Any)>, the `Any` type is actually a dictionary
p.s。我使用的版本是 RxAlamofire(6.1.1)