测试已测试 | ✓ |
语种语言 | Obj-CObjective C |
许可协议 | MIT |
发布上次发布 | 2015年4月 |
依赖 | |
InflectorKit | = 0.0.1 |
DCKeyValueObjectMapping | ~> 1.4 |
APIClient是一个基于约定而非配置的Objective-C REST API客户端。APIClient旨在尽可能少地处理常规REST API。如果您正在处理非常规API,您可以通过实现APIClient公开的协议来轻松覆盖默认行为。
实例化APIClient实例有两种主要方式。第一种是通过提供基准URL
APIClient *client = [APIClient clientWithBaseURL:baseURL];
第二种是通过提供配置代码块
APIClient *client = [APIClient clientWithConfigurationBlock:^(APIClientConfiguration *config) {
config.baseURL = baseURL;
}];
配置代码块传递一个APIClientConfiguration
实例,您可以使用它来自定义客户端使用的组件。请参考APIClientConfiguration头文件以了解可以自定义的内容。
APIResponse *response = [_client findAll:[Product class]];
response.success = ^(NSArray *products) {
NSLog(@"products: %@", products);
};
response.failure = ^(NSError *error) {
NSLog(@"error: %@", error);
};
APIResponse *response = [_client findResource:[Product class] withID:@1];
response.success = ^(Product *product) {
NSLog(@"product: %@", product);
};
response.failure = ^(NSError *error) {
NSLog(@"error: %@", error);
};
任何APIClient请求都遵循一系列步骤。整个过程如下
每个步骤都抽象为不同的组件。APIClient组件是一个正式的协议和遵循REST约定的默认实现。如果您需要不同的行为,您可以选择创建APIClient实现的子类或创建自己的类,该类符合该协议。
Klaas Pieter Annema, [email protected]
APIClient可在MIT许可协议下使用。有关更多信息,请参阅LICENSE文件。