【发布时间】:2018-10-27 10:57:49
【问题描述】:
我有一个 API,我需要将数据作为对象发送,所以我在那里传递数据,如下所示,它工作正常。
["fname" : "First 1", "lname": "Last 1"]
但是对于其中一种 API,Web 开发人员需要 API 作为数组,如下所示。
[["fname" : "First 1", "lname": "Last 1"]]
知道出了什么问题吗?
下面是我的代码
parameters = ..... data that I passed as [String : Any] // e.x. ["fname" : "First 1", "lname": "Last 1"]
var finalWebParams : Any
var webParams2 : [[String : Any]] = [[String : Any]]()
if (webserviceFor=="array") {
webParams = parameters as [String:Any]
webParams2.append(webParams)
}
if (webserviceFor=="array") {
finalWebParams = webParams2
} else {
finalWebParams = webParams
}
print("finalWebParams==\(finalWebParams)")
request(url, method: webMethod, parameters: finalWebParams as? Parameters, encoding: myEncoding, headers: headers)
对于print,我得到如下结果,这意味着我传递了正确的数据但是我得到了 500 错误。
[["fname" : "First 1", "lname": "Last 1"]]
知道我做错了什么吗?
编辑 1
下面是web开发者需要的模型
[
{
"fname" : "First 1",
"lname" : "Last 1"
}
]
【问题讨论】:
-
stackoverflow.com/questions/27026916/… stackoverflow.com/questions/30394112/… ...据我所知,Alamofire 本身并不管理数组参数。你必须自己做。
-
@Larme :这就是我在
webParams2所做的事情。但是还是有错误... -
您的服务器接受什么内容类型?大多数 JSON 内容类型都被接受。如果是这样,那么您应该写如下内容:
var webParams2 : [String : Any] = ["array": array] -
@AliMoazenzadeh :检查编辑 1 的 web 开发人员需要什么来发布请求...
标签: swift alamofire http-status-code-500