如何在 Swift 的 Get 请求中发送 [String]?
Posted
技术标签:
【中文标题】如何在 Swift 的 Get 请求中发送 [String]?【英文标题】:How to send a [String] in a Get Request in Swift? 【发布时间】:2020-07-23 18:44:07 【问题描述】:我正在尝试发送 exPID = ["abcdef"]
是一个包含 Swift GET 请求中的一个字符串的数组,使用:
request(URLInfo, method: .get, parameters: exPID, encoding: URLEncoding.default, headers: getHeader)
但参数需要一个 String:AnyObject 的字典。
无法将“[String]”类型的值转换为预期的参数类型 '参数?' (又名'可选
>')
我也试过getRequest.httpbody
。即使在那时它也给了我错误。
【问题讨论】:
欢迎您!请使用Tour 并正确阅读How do I ask a good question? Format your question,然后说明您需要什么。["abcdef"]
是一个包含一个字符串的数组。 URL 应该是什么样子? &exPID=abcdef
(就像问题中的数组是错误的)或者你想要多个值 &exPID=abcdef&exPID=qwewqe
(这个数组不是错误),...或者参数值应该包括这些方括号和引号作为好吗?
expId = ["abcdef"] 是一个只包含一个字符串的数组。
【参考方案1】:
对于具有正文的 GET 请求,在 http 正文中发送例如“ExPID”的字符串已被禁止。此更改已在 ios 13.0 发行说明中提及。
https://developer.apple.com/forums/thread/123348
这就是为什么 Swift 会自动失败诸如“GET 方法不能有正文”之类的请求
这只能通过使用 AlamoFire 发送键和值等参数或在 POST 请求中发送字符串来完成。
【讨论】:
以上是关于如何在 Swift 的 Get 请求中发送 [String]?的主要内容,如果未能解决你的问题,请参考以下文章
iOS Swift moya框架发送数组作为请求参数(GET/POST)