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

问题描述 投票:0回答:1

我已经为我的 API 生成了“适用于 iOS 的 API Gateway SDK”。在 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
的类型,但是在我从API Gateway SDK获得的
TestEmpty
类中,不包含任何提取字典形式对象的方法。
TestEmpty
实现类如下:

@implementation TESTEmpty

+ (NSDictionary *)JSONKeyPathsByPropertyKey {
    return @{
         
            };
}

@end

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

ios swift amazon-web-services aws-api-gateway
1个回答
6
投票

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

为了以有意义的方式使用生成的 SDK,您需要使用模型定义 API 的预期输出(请参阅使用模型和映射模板进行负载映射)。定义这些模型后,请确保在方法的“方法执行”页面中将它们用作“响应模型”。

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

希望这有帮助,

Jurgen,API 网关

© www.soinside.com 2019 - 2024. All rights reserved.