发送请求与Alamofire

时间:2018-02-14 19:56:57

标签: json swift alamofire

您好我正在尝试使用GitHub的说明向Alamofire发帖。有人能告诉我我的代码有什么问题,因为新数据不会出现在json中吗?这是我的VC代码。

import UIKit
import Alamofire

class ViewController: UIViewController {

private struct Constants {

    static let jsonURL3 = "https://jsonblob.com/api/jsonBlob/f31670d2-11bf-11e8-8318-7b18a50c9bd0"
}

override func viewDidLoad() {
    super.viewDidLoad()
    let params = [
        "firstname": "Ivan",
        "lastname": "Nikulin"
    ]

    Alamofire.request(Constants.jsonURL3, method: .post, parameters: params)

}

}

2 个答案:

答案 0 :(得分:1)

您需要为通话添加responseJSON,您只完成了第一部分:

Alamofire.request(Constants.jsonURL3, method: .get, parameters: params).responseJSON { response in
    print(response.result.value)
}

其次这是get请求,因此将methodpost更改为get(正如我在我的示例中所做的那样)。

这将打印出以下内容:

Optional(<__NSArrayI 0x60c0008371a0>(
{
    firstname = Leo;
    lastname = Messi;
},
{
    firstname = Cristiano;
    lastname = Ronaldo;
}
)
)

<强>更新
您无法发布到该网址,您将获得 405 Method Not Allowed 。如果要发布值,您需要创建/查找允许该值的API或URL,该链接不是为此目的。

答案 1 :(得分:0)

您创建了DataRequest类型的请求对象,但未触发它。 您需要在该对象上调用responseJSON才能获得响应。 以下是您的代码中的示例

let request = Alamofire.request(Constants.jsonURL3, method: .post, parameters: params)
request.responseJSON { (response) in
    print(response.result.value)
}