我需要使用可选的URL参数对网址执行GET请求。
基本网址类似于http://host/user/explore
,可选择查询http://host/user/explore?who=VALUE&category=VALUE&service=VALUE
以获得更准确的结果。
对于第一种情况,响应来自根目录,例如:
{
"professionals": [
{
"_id": "59e8576cb524cf44a435844b"
}
],
"salons": [
{
"_id": "59e857bbb524cf44a4358454"
}
]
}
我能够通过设置响应描述符成功映射响应,例如:
RKResponseDescriptor *response = [RKResponseDescriptor
responseDescriptorWithMapping:[Explore map1]
method:RKRequestMethodGET
pathPattern:@"user/explore"
keyPath:nil
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
return response;
(请注意[Explore map1]
帐号用于映射NSArray的“专业”,另一个用于“沙龙”NSObjects
但是,当我查询http://host/user/explore?who=VALUE&category=VALUE&service=VALUE
时,我的回复JSON变为:
{
"_id": "59f6f9fc36e51720da2e85f4"
},
{
"_id": "92x2f9fc36e51720da2e66d5"
}
实际返回的对象都是相同类型(并且根目录中不再有键)。
所以很明显,我的RKResponseDescriptor
和RKObjectMapping
无法正确处理此案例。
我调查过使用RKDynamicMapping
或RKRoute
并且无法真正了解它们的工作原理,或者它们是否适用于我的情况......
答案 0 :(得分:0)
你的网址是:http://host/user/explore?who=VALUE&category=VALUE&service=VALUE 所以就这样做:
A B C D E F G H I J K L M . . .
1 LEC. NAME LEC. ID A B+ B- B B- C+ C C- D E F
2 MARK 123abc 1 1
3 JEAN 123def 1
.
.
.