【问题标题】:Send an array of JSON objects in the request body of a POST using the Alamofire request method使用 Alamofire 请求方法在 POST 的请求正文中发送 JSON 对象数组
【发布时间】:2015-10-28 14:08:49
【问题描述】:

我有一个 JSON 对象数组,我想将它们传递到我们服务器的 POST 请求的请求正文中。但是,请求方法的方法签名仅将字典作为其参数:

func request(method: Alamofire.Method, _ URLString: URLStringConvertible, parameters: [String : AnyObject]? = default, encoding: Alamofire.ParameterEncoding = default, headers: [String : String]? = default) -> Alamofire.Request

目前有没有办法在 Alamofire 中执行此操作而无需自己创建 NSURLRequest?还是在未来的发展计划中?

【问题讨论】:

    标签: ios swift alamofire


    【解决方案1】:

    您需要使用.Custom 参数编码来执行此操作,或者您自己手动创建NSURLRequest。另一种可能的选择是修改服务器以接受 JSON 中带有参数名称的数组。

    截至目前,尚无计划支持此功能,但感谢您让我们了解此限制。我已将此问题添加到我们的内部 Trello 看板,我们将讨论我们是否愿意在未来支持此问题。

    【讨论】:

    • 你能解释一下为什么没有计划支持这个功能吗?数组作为 JSON 请求的顶级元素是完全有效的。
    • 明确地说,我们已将它添加到我们的积压工作中,所以这并不意味着它永远不会被支持。它在我们的优先级列表中并不是很高。主要原因是它不太适合其他编码类型。虽然它对 JSON 完全有效,但它不适用于属性列表,并且在查询字符串或 HTTP 正文中的 URL 编码中没有得到很好的定义。
    • 是的,我现在明白了,在我自己使用 .Custom 编码实现它之后,我可以明白为什么它没有完成。谢谢。
    • @AndrewJackman 您能否提供示例代码?我正在努力解决,谢谢
    猜你喜欢
    • 2017-09-18
    • 2017-05-15
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 2016-08-02
    相关资源
    最近更新 更多