APIClient 0.1.3

APIClient 0.1.3

测试已测试
语种语言 Obj-CObjective C
许可协议 MIT
发布上次发布2015年4月

Klaas Pieter Annema维护。



 
依赖
InflectorKit= 0.0.1
DCKeyValueObjectMapping~> 1.4
 

APIClient 0.1.3

  • Klaas Pieter Annema

安装

简介

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请求都遵循一系列步骤。整个过程如下

  1. 询问APIRouter将资源上的操作映射到URL。例如,GET MyProduct成为URLhttps://yourbaseurl.com/products
  2. 使用HTTPClient对URL发出请求
  3. 使用序列化程序将响应体序列化为Foundation对象
  4. 将Foundation对象映射到请求的资源实例

每个步骤都抽象为不同的组件。APIClient组件是一个正式的协议和遵循REST约定的默认实现。如果您需要不同的行为,您可以选择创建APIClient实现的子类或创建自己的类,该类符合该协议。

作者

Klaas Pieter Annema, [email protected]

许可协议

APIClient可在MIT许可协议下使用。有关更多信息,请参阅LICENSE文件。