我想将一个简单的Json发送到我的服务器并使用我的iPad应用程序获取Json响应..我使用Restkit来完成所有工作,但我对Json的POST有问题。 这是我想要的简单Json请求:
{"id_partita":"2"}
响应将是这样的:
[{"id":34,"id_dispositivo":"123","id_partita":2,"allenatore":0,"giocatore1":"AAA","giocatore2":"BBB",...}]
这是我在Xcode中的代码:
-(void) post
{
RKURL *baseURL = [RKURL URLWithBaseURLString:@"mysite"];
RKObjectManager* objectManager = [RKObjectManager objectManagerWithBaseURL:baseURL];
// Setup object mappings
RKObjectMapping *formazioneMapping = [RKObjectMapping mappingForClass:[Formazione class]];
[formazioneMapping mapKeyPath:@"id_formazione"
toAttribute:@"id_formazione"];
[formazioneMapping mapKeyPath:@"id_dispositivo"
toAttribute:@"id_dispositivo"];
[formazioneMapping mapKeyPath:@"id_partita"
toAttribute:@"id_partita"];
[formazioneMapping mapKeyPath:@"formazione"
toAttribute:@"formazione"];
[formazioneMapping mapKeyPath:@"giocatore1"
toAttribute:@"giocatore1"];
[formazioneMapping mapKeyPath:@"giocatore2"
toAttribute:@"giocatore2"];
;
// Register our mappings with the provider
[objectManager.mappingProvider setMapping:formazioneMapping forKeyPath:@""];
[objectManager.router routeClass:[Formazione class]
toResourcePath:@"/formazione/index.php"
forMethod:RKRequestMethodPOST];
// Set serialization MIME type.
[RKObjectManager sharedManager].serializationMIMEType = RKMIMETypeFormURLEncoded;
// Configure a serialization mapping for our Formazione class. We want to send id_partita
RKObjectMapping *formazionePOSTSerializationMapping = [RKObjectMapping
mappingForClass:[Formazione class]];
[formazionePOSTSerializationMapping mapAttributes:@"id_partita", nil];
// Now register the mapping with the provider
[[RKObjectManager sharedManager].mappingProvider setSerializationMapping:formazionePOSTSerializationMapping forClass: [Formazione class]];
FormazionePOST *formazionePOST = [[FormazionePOST alloc] init];
formazionePOST.id_partita = @"2";
[[RKObjectManager sharedManager] postObject:formazionePOST delegate:self];
}
但是当我尝试执行它时,我遇到了这个错误: '无法为HTTP方法'POST'找到'FormazionePOST'类型对象的可路由路径。
我不明白我的错误是什么,我找不到一个简单的POST和GET的例子。 谢谢你的帮助!
答案 0 :(得分:0)
在您的路由器初始化中,您是否引用了Formazione类,但是您尝试发布FormazionePost类?
答案 1 :(得分:0)
我使用AfNetworking而不是RestKit解决了我的问题。 在他们的文档中有很多关于JSON管理的例子。