Ключ API и RESTKit - PullRequest
       3

Ключ API и RESTKit

2 голосов
/ 13 октября 2011

Я использую RESTKit для службы, которая была создана для меня. Модель в JSON для моего пользователя:

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

Мне нужно ввести api_key, если я хочу получить пользователя /users/1.json. Я прочитал в документации о том, как установить HTTP-заголовок ключа API для всего приложения.

Пример:

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

Это правильный способ сделать это? Как я могу узнать мой @"X-RESTKIT-API-KEY" моего сервиса? (не значение api_key, я ищу строку, чтобы заменить @"X-RESTKIT-API-KEY" для моего сервиса)

1 Ответ

0 голосов
/ 13 октября 2011

Хмм, для этого примера запроса 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 tutorial

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...