TRON框架的URL问题swfit

我正在使用 swift 的 TRON 框架,由于我的 URL,我遇到了一个错误。 以下是代码:

let relatedTronUrl = TRON(baseURL: "https://api.themoviedb.org")

func fetchRelatedFeed(id: Int, completion: @escaping () -> ()){
    let request: APIRequest<Related, JSONError> = relatedTronUrl.request("/3/tv/1402/similar?api_key=myAPIkey&language=en-US&page=1")

    request.perform(withSuccess: { (related) in
        print("成功获取我们的JSON对象")
        completion()
    }) { (err) in
        print("获取JSON失败 ",err)
    }
}

如您所见,正确的 URL 应为: https://api.themoviedb.org/3/tv/1402/similar?api_key=myAPIkey&language=en-US&page=1 但是当我运行我的应用程序时,我遇到了 JSON 错误:

获取JSON失败  APIError<JSONError>(request: Optional(https://api.themoviedb.org/3/tv/1402/similar%3Fapi_key=myAPIkey&language=en-US&page=1), response: Optional(<NSHTTPURLResponse: 0x610000235f20> { URL: https://api.themoviedb.org/3/tv/1402/similar%3Fapi_key=myAPIkey&language=en-US&page=1 } { status code: 401, headers {
"Access-Control-Allow-Origin" = "*";
Connection = "keep-alive";
"Content-Length" = 86;
"Content-Type" = "application/json;charset=utf-8";
Date = "Wed, 01 Mar 2017 16:58:38 GMT";
Server = openresty;
Status = "401 Unauthorized";
"X-RateLimit-Limit" = 40;
"X-RateLimit-Remaining" = 39;
"X-RateLimit-Reset" = 1488387528;} }), data: Optional(86 bytes), error: Optional(Alamofire.AFError.responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(401))), errorModel: Optional(BookFinde.RelatedService.JSONError))

我认为这个问题是由于 TRON 的请求引起的,因为正确的 URL 是:https://api.themoviedb.org/3/tv/1402/similar?api_key=myAPIkey&language=en-US&page=1

但我得到的是:https://api.themoviedb.org/3/tv/1402/similar%3Fapi_key=myAPIkey&language=en-US&page=1

如您所见,区别是将‘?'转换为‘%3F’。 我做错了什么?

点赞
用户6654061
用户6654061

以下是我找到的解决方案:

let relatedTronUrl = TRON(baseURL: "https://api.themoviedb.org")

func fetchRelatedFeed(id: Int, completion: @escaping () -> ()){
    let request: APIRequest<Related, JSONError> = relatedTronUrl.request("3/tv/\(id)/similar")

    // 我必须手动以这种方式添加参数
    request.parameters = ["api_key":"myAPIkey","language":"en-US","page":"1"]

    request.perform(withSuccess: { (related) in
        print("成功获取我们的 JSON 对象")
        completion()
    }) { (err) in
        print("无法获取 JSON",err)
    }
}
2017-03-01 18:14:54