AWSから生成されたAPIを使用しようとするとネイティブのパート(Objective C)からReact Nativeにデータを戻す際にいくつか問題がありますAPIゲートウェイ。AWSからApi Gatewayを使用してReactネイティブとコールバックを持つiOS(Objective C)SDKを生成
私はawsで簡単なテストゲートウェイをセットアップし、そのリソースのモデルも作成しました。このように見えます。私は客観C.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "dummyConfigModel",
"type": "object",
"properties": {
"config": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"placeholder": {
"type": "string"
},
"label": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"height": {
"type": "integer"
},
"width": {
"type": "integer"
}
}
}
}
}
}
}
}
にAWSからの応答を読み取ることができませんでしたモデルがなければ[OK]を、代わりにそれとので、私は、AWSからAPIを生成し、それは私のワークスペース内に設置しまいました。 http://facebook.github.io/react-native/docs/native-modules-ios.htmlのドキュメントを読んで、ネイティブモジュール(コールバック付き)を呼び出しました。
const NFAWSManager = NativeModules.NFAWSManager;
const config = NFAWSManager.call(
'configGet', {
'dummyKey': 'dummyValue'
},
this.callback);
私はそうAPIへのすべての変更のための新しいネイティブメソッドを設定避けるために、文字列でAWSメソッドを呼び出すことを計画していますが、今の呼び出し方法は、ちょうど「configGet」を行います。
ネイティブ部分は次のようになります。
#import "NFAWSManager.h"
#import "NFReactTestAPIClient.h"
@implementation NFAWSManager
RCT_EXPORT_MODULE();
RCT_EXPORT_METHOD(
call:(NSString *)method
params:(NSDictionary *)params
callback:(RCTResponseSenderBlock)callback
)
{
NSLog(@"Method was: %@", method);
NSLog(@"Params was: %@", params);
NFReactTestAPIClient *client = [NFReactTestAPIClient defaultClient];
[[client configGet:nil] continueWithBlock:^id(AWSTask *task) {
if (task.error) {
NSLog(@"Error: %@", task.error);
callback(@[task.error]);
}
else {
NFDummyConfigModel *output = task.result;
NSLog(@"DEBUG %@", output);
callback(@[[NSNull null], output]);
}
return nil;
}];
}
@end
[OK]を、ので、私は基本的に何を取得リアクトからこれを呼び出すとき。私は "{}"を得る。しかし、もし私が文字列や辞書のようなものをハードコードするなら、それはReactによって通常受け取られます。
私が助けが必要なのは、task.resultオブジェクトをReactに渡すことができる形式に変換することです。私はそれがモデルかもしれないと思う?
API Gatewayのレスポンスセクションでモデルを完全に削除したように見えますが、結果を反応させるために渡すことができます。しかし、これを削除することで、JavaバージョンのAPIが問題になると思われます。 *私は掘り続けるだろう* – fmortens