3

RESTful Webサービス(Rails)にメソッド「getBuses」があります。そのメソッドは、JSONでバスのリストを返す必要があります。しかし、「/ getBuses.json」のリクエストを送信するときは、送信する必要があります

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" 
  } ] 
} 

Busオブジェクトを含むNSArrayが必要です。 このリクエストを作成し、RestKitを使用してオブジェクトマッピングを作成する方法のコード例を教えてください。

4

1 に答える 1

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を使用して元に戻す必要があります。お役に立てれば!

于 2011-09-26T19:28:02.360 に答える