我正在尝试找出API调用中的数据来自何处。具体地说,我想知道req.user是从哪里来的,因为我知道没有参数被传递到API调用中。
以下是服务器端代码(在JS中):
let APIHandler = (req, res) = > {
if (req.user) {
latitude = req.user.location.latitude
longitude = req.user.location.longitude
}
}这是客户端代码(在Swift中):
let strURLTo = SERVICE.BASE_URL + apiName + limit
let headers = AuthorizationHeader.getAuthHeader(staticToken: false)
var urlComponents = URLComponents(string: strURLTo)
urlComponents?.queryItems = [URLQueryItem(name: "offset", value: String(offset)),
URLQueryItem(name: "limit", value: String(limit))]
let strURL = urlComponents?.url
RxAlamofire.requestJSON(.get,strURL!,parameters:[:],headers:headers)
.debug()
.subscribe(onNext: {(HeaderResponse, bodyResponse) in
if let dict = bodyResponse as? [String: AnyObject] {
if let respDict: [String: Any] = JSON(dict).dictionaryObject {
let response = ResponseModel.init(statusCode: HeaderResponse.statusCode, response:respDict)
self.subject_response.onNext(response)
}
}
}, onError: { (error) in
self.subject_response.onError(error)
})
.disposed(by: disposeBag)最后是RxAlamofire.requestJson的定义:
public func requestJSON(_ method: Alamofire.HTTPMethod,
_ url: URLConvertible,
parameters: [String: Any]? = nil,
encoding: ParameterEncoding = URLEncoding.default,
headers: [String: String]? = nil)
-> Observable<(HTTPURLResponse, Any)>
{
return SessionManager.default.rx.responseJSON(
method,
url,
parameters: parameters,
encoding: encoding,
headers: headers
)
}我试图一步一步地跟踪RxAlamofire.requestJSON函数,但我看不到实际的API调用发生在哪里(对我来说,它似乎只是概述了它期望/返回的类型)。此外,RxAlamofire.requestJSON(.get,strURL!,parameters:[:],headers:headers)调用中没有参数。
发布于 2019-10-09 06:38:24
实际调用是在下面这行中进行的(为清楚起见,这行已经分散在多行中):
return SessionManager.default.rx.responseJSON(
method,
url,
parameters: parameters,
encoding: encoding,
headers: headers
)参数设置如下:
var urlComponents = URLComponents(string: strURLTo)
urlComponents?.queryItems = [URLQueryItem(name: "offset", value: String(offset)),
URLQueryItem(name: "limit", value: String(limit))]但是,我也没有看到user被设置,所以它可能是在这个答案顶部的API函数中发生的?
https://stackoverflow.com/questions/58294464
复制相似问题