一个实现了基本 RPC 需求的轻量级 API 框架。我们使用链式编码风格来提供方法调用的便利性。我们涵盖了 iOS 客户端与您的后端之间的 http/https 请求的大多数情况。
willStart
和 didFinish
。
- (void)createYourAPITemplate {
[LA createTemplate:^(LARequestMaker *maker) {
maker.host(@"http://your-host").version(@"v1").method(LAMethodGET);
maker.post(LAPostStyleForm).sync(NO).response(LAResponseStyleJSON);
maker.willStart.delegate(self, @selector(sign:));
}
withIdentifier:@"template"
onStatus:LAStatusProduction];
}
- (NSURLRequest *)sign:(NSMutableURLRequest *)request {
//do your sign
return request;
}
- (void)invokeYourAPI {
[LA invokeRequest:^(LARequestMaker *maker) {
maker.import(@"template").path(@"/ping");
maker.didFinish.thread(LAThreadBackground).block(^id(LAResponse *response){
NSLog(@"%@", response.JSON);
return nil;
});
}];
}
或者您可能不想使用块
- (void)invokeYourAPI {
[LA invokeRequest:^(LARequestMaker *maker) {
maker.import(@"template").path(@"/ping");
maker.didFinish.thread(LAThreadBackground).delegate(self, @selector(didFinish:));
}];
}
- (id)didFinish:(LAResponse *)response {
//do your business
return nil;
}
- (void)example {
[LA createTemplate:^(LARequestMaker *maker) {
maker.import(@"template").host(@"http://your-beta-host");
}
withIdentifier:@"template"
onStatus:LAStatusBeta];
[LA switchStatusTo:LAStatusBeta];
}