我正在用Swift 4.2编写一个 iOS应用。我正在使用Moya Networking。
我必须使用下面的 GET 查询从服务器获取数据:
https://api.backendless.com/AABE5C4B-AA58-955C-FF16-27B64A185300/46FDFF59-CF95-B699-FFF5-83B681610700/data/quilt_detail?where=addedDate> 1555515000 AND quitID ='9FE17AA3-E182-6DFA-FF1D-52B33B2B8D00'并且 ownerId ='AC1CB90D-CF3E-7243-FF87-9E408D68E800'&props = sleepHours,添加日期,添加日期
我的代码:
var task: Task {
switch self{
case .getTrends(let quiltID, let addedDate, let ownerId):
return .requestParameters(parameters: ["where":"addedDate > \(addedDate) AND quitID='\(quiltID)' AND ownerId ='\(ownerId)'", "props":"sleepHours,addedDay,addedDate"], encoding: URLEncoding.default)
}
}
但是发出它,在执行它时会在下面的 GET 查询中进行
:代替:
添加日期> 1555515000和 quitID ='9FE17AA3-E182-6DFA-FF1D-52B33B2B8D00'并且 ownerId ='AC1CB90D-CF3E-7243-FF87-9E408D68E800'
它的制作:
addedDate%20%3E%201556955782%20AND%20quitID%3D%276264A540-84F3-4D09-FF8D-00D4C94E9D00%27%20AND%20ownerId%20%3D%27DB64B524-8973-9357-FF67-3C69B6CD1C00%27 >
如何使用空格进行GET查询?
答案 0 :(得分:0)
URL字符串从不包含空格Check Here
答案 1 :(得分:0)
您的查询包含。它们只是被百分比编码或也被称为 URL编码。这是一种在URL中包含字符的机制,否则这些字符将是非法的或与URL结构冲突。进一步了解Wikipedia's percent-encoding article。
一个简单的示例是包含xdotool key ctrl+shift+E
的GET参数值。您必须对其进行编码,否则它将启动一个新参数后的值。
接收请求的服务器将看到您发送的原始数据。您可以使用&
在浏览器的控制台中进行验证:
decodeURIComponent
这将返回:
decodeURIComponent('addedDate%20%3E%201556955782%20AND%20quitID%3D%276264A540-84F3-4D09-FF8D-00D4C94E9D00%27%20AND%20ownerId%20%3D%27DB64B524-8973-9357-FF67-3C69B6CD1C00%27')