私はTRONフレームワークをswiftで使用していますが、私のURLのためにエラーが発生しています。 https://api.themoviedb.org/3/tv/1402/similar?api_key=myAPIkey&language=en-US&page=1
が、私は自分のアプリケーションを実行したとき、私はJSONのエラーを取得する:あなたが見ることができるようにTRON url issue swift
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("Successfully fatched our json objects")
completion()
}) { (err) in
print("Failed to fetch json ",err)
}
}
が正しいURLは次のようになります。 これはコードです
Failed to fetch 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))
私はこの問題が原因だと思います正確な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
あなたが見ることができるように、?
はに変換されています。 私は何が間違っていますか?
TRONが明らかにリクエストパラメータが 'PATH'ことを期待していると、あなたは' query'パラメータを含むしようとしています。 'APIRequest'クラスをチェックして、問い合わせパラメータを指定できるかどうかを確認してから、呼び出しを分割してパス部分のみを含むリクエストを作成し、次にクエリ部分を追加します。 –
@DavidBerryありがとう、私はパラメータを追加してクエリを追加する必要がありました。 –
今後の参考になるよう、実際の解決策を回答として投稿することがあります。 –