如何在AWS API Gateway iOS中处理响应

时间:2016-04-15 12:56:08

标签: ios swift api amazon-web-services aws-api-gateway

我为我的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
    }

此处TestEmptyresponse的类型。但是在我从TestEmpty获得的API Gateway SDK类中,不包含任何提取字典表单对象的方法。 TestEmpty implementation class位于以下位置:

@implementation TESTEmpty

+ (NSDictionary *)JSONKeyPathsByPropertyKey {
    return @{

            };
}

@end

我是否需要编写自己的方法来处理响应,或者由SDK提供?如果您对此有任何了解,请回复。我是AWS API Gateway的新手。

由于

1 个答案:

答案 0 :(得分:5)

iOS SDK根据API中定义的模型生成类。有一个名为“Empty”的默认模型,由“TestEmpty”类表示。由于此模型未定义任何属性/属性,因此您无法从中获取数据。

为了以有意义的方式使用生成的SDK,您需要使用模型定义API的预期输出(请参阅Use Models and Mapping Templates for Payload Mappings)。定义这些模型后,请确保在方法“方法执行”页面中将它们用作“响应模型”。

当您按照上述步骤重新部署API时,生成的SDK应包含您附加到方法的模型类。然后,您可以使用SDK中的那些从HTTP响应中提取数据。

希望这有帮助,

Jurgen,API网关