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

Van*_*ana 1 api amazon-web-services ios swift aws-api-gateway

我为我的API 生成API Gateway SDKios.在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
    }
Run Code Online (Sandbox Code Playgroud)

TestEmpty是类型response.但是在我的TestEmpty课程中,我得到了API Gateway SDK,不包含任何提取字典表单对象的方法.TestEmpty implementation class在下面:

@implementation TESTEmpty

+ (NSDictionary *)JSONKeyPathsByPropertyKey {
    return @{

            };
}

@end
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Jur*_*gen 5

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

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

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

希望这可以帮助,

Jurgen,API网关

  • Jurgen,是否需要设置模型?如果我的后端返回json并且我希望响应主体一直流到客户端,那么不创建任何模型是否正常?我们正在调试我们生成的SDK的一个问题,我想确保它与我们缺乏模​​型无关.谢谢!:) (3认同)