【问题标题】:Restkit sending POST method instead of a GET methodRestkit 发送 POST 方法而不是 GET 方法
【发布时间】:2013-06-27 13:53:59
【问题描述】:

我正在尝试创建一种从 api 文档中检索可用 websocket 服务器的方法。我的检索方法是:

-(void)getWebsocketServer: (GenericObject *)obj{

[[RKObjectManager sharedManager]  postObject: obj
                                  path:@"v1/ambulances/websocket_servers.json"
                                  parameters:@{
 @"auth_token" : self.accessToken,
 @"api_key" : self.api_key,

 }

                                     success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
                                         RKLogInfo(@"Update drivers complete refresh view...");

                                     }

                                     failure:^(RKObjectRequestOperation *operation, NSError *error) {
                                         RKLogError(@"Update Drivers failed with error: %@", error);

                                         [UIAlertView alertViewWithTitle:@"Cannot connect to server"
                                                                 message:[NSString stringWithFormat:@"Try again later", [error localizedDescription]]];

                                     }];

}

这是第二部分,映射:

  RKObjectMapping *websocketMapping = [RKObjectMapping mappingForClass:[GenericObject class]];

[websocketMapping addAttributeMappingsFromArray:@[@"servers"] ];



// Routes for Users

[self.objectManager.router.routeSet addRoute:[RKRoute routeWithName:kFindWebsockets
                                                        pathPattern:@"v1/ambulances/websocket_servers.json"
                                                             method:RKRequestMethodGET]];

RKResponseDescriptor *websocketDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:websocketMapping
                                                                                 pathPattern:@"v1/ambulances/websocket_servers.json"
                                                                                     keyPath:nil
                                                                                 statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

  [self.objectManager addResponseDescriptor:websocketDescriptor];

在映射中,我显然使用了 method:RKRequestMethodGET,但是当我发出请求时,charles(我的网络调试器)显示了一个 POST 方法。这真让我抓狂!我没有在其他任何地方使用过此路径或方法,那么为什么请求错误?谢谢!

【问题讨论】:

    标签: api websocket mapping restkit


    【解决方案1】:

    因为你在打电话:

    [[RKObjectManager sharedManager]  postObject: obj ...
    

    你应该在哪里打电话:

    [[RKObjectManager sharedManager]  getObjectsAtPathForRouteNamed:kFindWebsockets ...
    

    【讨论】:

      猜你喜欢
      • 2019-06-03
      • 2021-06-20
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-30
      • 2019-02-27
      相关资源
      最近更新 更多