2011-09-26 3 views
3

내 RESTful 웹 서비스 (Rails)에 "getBuses"메소드가 있습니다. 그 방법은 JSON에서 나 버스 목록을 반환해야합니다. 그러나, 나는에 대한 요청을 보낼 때 "/getBuses.json는"나는 (단지 특정 날짜에 특정 투어) 필터 응답을 필요로하기 때문에 내가 PARAMS을 게시하도록하겠습니다RestKit - POST 응답 객체 매핑

params = [NSDictionary 
dictionaryWithObjectsAndKeys: @"2011-08-16", @"datum", @"TRUE", 
@"fromSerbia", nil]; 

보낼 필요가 . 이 같은 다음, 내가 기대 응답 :

{ 
    "buses" : [ { 
    "bus_number" : "1", 
    "created_at" : "2011-08-15T23:07:52Z", 
    "id" : 1, 
    "lat" : 44.815, 
    "long" : 20.4665, 
    "model" : "Setra", 
    "registar_number" : "123456", 
    "seats" : 50, 
    "tour_id" : 1, 
    "updated_at" : "2011-08-15T23:07:52Z" 
    }, { 
    "bus_number" : "2", 
    "created_at" : "2011-08-15T23:07:52Z", 
    "id" : 2, 
    "lat" : 44.812, 
    "long" : 20.465, 
    "model" : "Mercedes", 
    "registar_number" : "2234", 
    "seats" : 60, 
    "tour_id" : 1, 
    "updated_at" : "2011-08-15T23:07:52Z" 
    } ] 
} 

난 그냥 버스 객체로있는 NSArray이 필요합니다. 이 요청을하고 RestKit을 사용하여 객체 매핑을하는 방법을 코드 예제에 제공 할 수 있습니까?

답변

5

내가 IRC 채널에서 말했듯, 당신의 RKClient 인스턴스에서이 방법을 사용할 수 있습니다

이 이

(NSURL *)는 URLForResourcePath (있는 NSString *) resourcePath queryParams : (NSDictionary와 *)는

을 queryParams을 따라서 다음과 같이해야합니다 :

[objectManager.mappingProvider setMapping:busesMapping forKeyPath:@"buses"]; 

params = [NSDictionary dictionaryWithObjectsAndKeys: @"2011-08-16", @"datum", @"TRUE", @"fromSerbia", nil]; 
NSURL *someURL = [objectManager.client URLForResourcePath:@"/service/getLocations.json" queryParams:params]; 

[objectManager loadObjectsAtResourcePath:[someURL absoluteString] delegate:self]; 

이 메서드는 resourcePath와 매개 변수로 제공 한 매개 변수를 사용하여 유효한 URL을 만듭니다. 그런 다음 NSURL 객체의 absoluteString을 사용하여 다시 설정해야합니다. 희망이 도움이!