我为我的API API Gateway SDK
生成了ios
。在SDK
我有两种类型的文件,一种是提出请求,另一种是处理响应 -
1)TESTGetAllDataClient
2)TESTEmpty
let serviceClient = TESTGetAllDataClient.defaultClient()
serviceClient.rootPost("2015").continueWithBlock{ (task:AWSTask!) -> (AnyObject!) in
if task.error != nil {
print(task.error)
} else {
let resultDict :TESTEmpty = task.result as! TESTEmpty
}
return nil
}
此处TestEmpty
是response
的类型。但是在我从TestEmpty
获得的API Gateway SDK
类中,不包含任何提取字典表单对象的方法。 TestEmpty
implementation class
位于以下位置:
@implementation TESTEmpty
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
};
}
@end
我是否需要编写自己的方法来处理响应,或者由SDK
提供?如果您对此有任何了解,请回复。我是AWS API Gateway
的新手。
由于
答案 0 :(得分:5)
iOS SDK根据API中定义的模型生成类。有一个名为“Empty”的默认模型,由“TestEmpty”类表示。由于此模型未定义任何属性/属性,因此您无法从中获取数据。
为了以有意义的方式使用生成的SDK,您需要使用模型定义API的预期输出(请参阅Use Models and Mapping Templates for Payload Mappings)。定义这些模型后,请确保在方法“方法执行”页面中将它们用作“响应模型”。
当您按照上述步骤重新部署API时,生成的SDK应包含您附加到方法的模型类。然后,您可以使用SDK中的那些从HTTP响应中提取数据。
希望这有帮助,
Jurgen,API网关