これはパラメータを使用した私のURL文字列です。 http://api.room2shop.com/api/product/GetProducts?categoryId=22&filter=2&pageNumber=1 JSONデータを取得しています。私はGETrequestのための関数を定義したAFWrapper.swiftファイルを持っています。AlamofireでGETリクエストとパラメータを使用してJSON結果を取得する
import UIKit
import Alamofire
import SwiftyJSON
class AFWrapper: NSObject {
class func requestGETURL(strURL: String, params : [String : AnyObject]?, success:(JSON) -> Void, failure:(NSError) -> Void) {
Alamofire.request(.GET, strURL, parameters: params, encoding: ParameterEncoding.JSON).responseJSON { (responseObject) -> Void in
print(responseObject)
if responseObject.result.isSuccess {
let resJson = JSON(responseObject.result.value!)
success(resJson)
}
if responseObject.result.isFailure {
let error : NSError = responseObject.result.error!
failure(error)
}
}
}
}
今、私はViewController.swiftファイルでこの関数を呼び出しています。
let strURL = "http://api.room2shop.com/api/product/GetProducts"
let param = ["categoryId": "22", "filter": "2", "pageNumber": "1"]
AFWrapper.requestGETURL(strURL, params: param, success: {
(JSONResponse) -> Void in
if let resData = JSONResponse["ProductList"].arrayObject {
for item in resData {
self.TableData.append(datastruct(add: item as! NSDictionary))
}
do
{
try self.read()
}
catch
{
}
self.do_table_refresh()
}
}) {
(error) -> Void in
print(error)
}
しかし、私には何の反応も与えず、私にこのエラーを与えていません。
FAILURE:エラードメイン= NSURLErrorDomainコード= -1017 " 応答を解析することはできません" のUserInfo = {NSErrorFailingURLStringKey = http://api.room2shop.com/api/product/GetProducts、 _kCFStreamErrorCodeKey = -1、NSErrorFailingURLKey = http://api.room2shop.com/api/product/GetProducts、 NSLocalizedDescription =応答を解析することができない、 _kCFStreamErrorDomainKey = 4、NSUnderlyingError = 0x78ecf180 {エラードメイン= kCFErrorDomainCFNetworkコード= -1017 "(ヌル)" のUserInfo = {_ kCFStreamErrorDomainKey = 4、_kCFStreamErrorCodeKey = -1}}} エラードメイン= NSURLErrorDomainコード= -1017 "応答を解析することはできません" のUserInfo = {NSErrorFailingURLStringKey = http://api.room2shop.com/api/product/GetProducts、 _kCFStreamErrorCodeKey = -1、NSErrorFailingURLKey = http://api.room2shop.com/api/product/GetProducts、 NSLocalizedDescription =応答を解析することができない、 _kCFStreamErrorDomainKey = 4、NSUnderlyingError = 0x78ecf180 {エラードメイン= kCFErrorDomainCFNetworkコード= -1017 "(ヌル)" のUserInfo = {_ kCFStreamErrorDomainKey = 4、_kCFStreamErrorCodeKey = -1}}}
私は間違っていると誰に教えてもらえますか?私はこのリンクを見張ったが、何が間違っているかは分からなかった。 URL Encode Alamofire GET params with SwiftyJSON
私は直接URLが正しく応答していることを知っています。しかし、私はパラメータ@ n.byを渡したいと思います。n –
Webサービスでは、String操作(つまり、URL String内のパラメータを与える)またはパラメータをJSON形式で受け入れるサービスを作成する2つの方法がありますが、後者の場合、URLはパラメータなしでクリーンにする必要があります。 (これは良い方法です)。 GETサービス内でJSONとしてパラメータを取得するために、私は自分の答えを編集しています。チェック! –
Yah ..私はそれを解決しました.. –