AYNetworking是一个带有API方法的类别集合,用于简化使用AFNetworking框架处理请求和响应。
AYNetworking扩展了AFHTTPClient和AFHTTPRequestOperation的AFNetworking框架API。
灵感来自LRResty
当您要在代码中使用AYNetworking框架时,可以添加以下导入命令。这也会为您导入AFNetworking。
#import <AYNetworking/AYNetworking.h>
首先需要一个基于AFHTTPClient类的客户端。
AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://base.url"]];
要使用block发送请求,可以像下面这样使用代码。
[client get:@"resource"
success:^(AFHTTPRequestOperation *operation, id response) {
// handle the response...
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// handle the error...
}
];
同样适用于:post、delete、patch和put。
如果您的请求需要参数或头信息,您可以这样调用。
[client get:@"resource" parameters:@{@"": @""} headers:@{@"": @""}
success:^(AFHTTPRequestOperation *operation, id response) {
// handle the response...
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// handle the error...
}
];
如果您想在开始操作前修改AFHTTPRequestOperation以发送请求,可以像下面这样使用代码。
[client willStartRequestOperation:^(AFHTTPRequestOperation *operation) {
// modify the AFHTTPRequestOperation...
}];
要使用delegate发送请求,可以像下面这样使用代码。
[client get:@"resource" delegate:self];
用于处理响应的delegate协议方法。
- (void)client:(AFHTTPClient *)client requestOperation:(AFHTTPRequestOperation *)operation didSuccessfulWithObject:(id)response
{
// handle the response...
}
- (void)client:(AFHTTPClient *)client requestOperation:(AFHTTPRequestOperation *)operation didFailWithError:(NSError *)error
{
// handle the error...
}
同步发送请求和处理响应看起来像下面这样。
AFHTTPRequestOperation *operation = [client get:@"resource"];
if (operation.isSuccess){
// handle the response...
// operation.responseObject;
}
if (operation.isFailure) {
// handle the error...
// operation.error;
}
✓ Block API
✓ Delegate API
✓ Synchronous API
✗ 文档
✗ 单元测试 & 持续集成构建