1

私はRestKit、RKObjectManagerを使用しており、サーバー側では認証用のデバイスを使用しています。リクエストごとに認証トークンを送信する必要があります。すべてのリクエストに簡単に追加できる方法はありますか?

現在、GETの場合、次のことを行っています。

NSString *path = [NSString stringWithFormat:@"/%@/%i", [self pluralizedName], identifier];
path = [path stringByAppendingQueryParameters:[self appendAuthenticationToken:params]];
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:path delegate:delegate];

これはうまくいきます。ただし、PUTについては、次のことを試しました。

[[RKObjectManager sharedManager] putObject:resource usingBlock:^(RKObjectLoader *loader) {
    loader.delegate = delegate;
    loader.params = [RKParams paramsWithDictionary:[self appendAuthenticationToken:params]];
}];

これにより認証トークンが正しく送信されましたが、更新しようとしたリソースをサーバーが受信しませんでした。誰かがこれを行う正しい方法を知っていますか?

4

2 に答える 2

0

このようなパスに認証トークンが追加されているのは初めてです。ヘッダーに追加できませんか?私はそれを行うためのより標準的な方法であると感じています。

このようにすると、RKObjectManagerによって提供されるクライアントで[RKClient setValue:forHTTPHeaderField:]を使用できます。

于 2012-07-13T06:55:50.200 に答える
0

RestKit .2 では、この問題に次のように対処します。

 [[[RKObjectManager sharedManager] HTTPClient] setAuthorizationHeaderWithToken:self.user.token];
于 2013-05-01T01:43:45.737 に答える