2

私のために作成されたサービスにRESTKitを使用しています。私のユーザーの JSON のモデルは次のとおりです。

{
    "api_key" : "123456"
    "user" : {
        "username" : "user1",
        "email"    : "me@email.com",
        "name"     : "name1",
        "surname"  : "surname1"
    }
}

api_keyユーザーを取得したい場合は、 を紹介する必要があります/users/1.json。アプリ全体の API キー HTTP ヘッダーの設定に関するドキュメントを読みました。

例は次のとおりです。

[client setValue:@"123456" forHTTPHeaderField:@"X-RESTKIT-API-KEY"];

これを行うのは正しい方法ですか?@"X-RESTKIT-API-KEY"自分のサービスを見つけるにはどうすればよいですか? (api_key 値ではありません@"X-RESTKIT-API-KEY"。サービスに置き換える文字列を検索します)

4

1 に答える 1

0

うーん、そのサンプルの GET リクエストでは、RKClient オブジェクトを使用することをお勧めします。いくつかの例を挙げます:

#import <RestKit/RestKit.h>
#import "JSONKit.h"

RKClient* client = [RKClient clientWithBaseURL:@"http://yourdomainwhereisapi.com"]; 

アプリのどこでも(RKCLientはシングルトンオブジェクトであるため)、次のように呼び出すことができます:

// Here you need to define delegate in header (because delegate is self)
// Declare delegate in .h file with <RKRequestDelegate>
[[RKClient sharedClient] get:@"/some/api/call.json" delegate:self];

デリゲート メソッドを定義する必要があります。

- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response {
      // where you handle response object
      // sample how to make NSDictionary from JSON response
      NSDictionary *deserializedData = [[response bodyAsString] objectFromJSONString];

      // Now you can get anything from this NSDictionary:
      NSLog("%@", [deserializedData objectForKey:@"api_key"];
}

PS とにかく、RestKit wiki を見て、基本的な例を確認できます: RestKit Wiki チュートリアル

于 2011-10-13T07:32:24.347 に答える