咚咚锵咚锵咚锵

post请求使用方法

get请求使用方法

注意事项

=================================

下面是

Request.h 封装了请求,可以直接拿来用的

//// Request.h// 咚咚API//// Created by 陆巧怡 on 15/6/30.// Copyright (c) 2015年 Simon. All rights reserved.//@protocol RequestDelegate <NSObject>/** * 网络请求成功返回的数据 * * @param responseObject 请求成功返回的数据 * @param requestName 请求的名字 */-(void)requestFinish:(id)responseObject requestName:(NSString *)requestName;/** * 网络请求失败返回的数据 * * @param error请求失败返回的数据 * @param requestName 请求的名字 */-(void)requestError:(NSError *)error requestName:(NSString *)requestName;@end#import "AFHTTPSessionManager.h"#import <AFHTTPSessionManager.h>@interface Request : AFHTTPSessionManager@property (nonatomic, strong) NSMutableDictionary *configRequsetData;@property (nonatomic, weak) id<RequestDelegate> delegate;/** * Get 取得数据 * * @param parameters 参数 * @param requestName 请求方法的名字 */- (void)getData:(NSMutableDictionary *)parameters requestName:(NSString *)requestName;/** * Post 提交数据 * * @param parameters 参数 * @param requestName 请求方法的名字 */- (void)postData:(NSMutableDictionary *)parameters requestName:(NSString *)requestName;/** * Post 提交数据,包含了图片数据 * * @param parameters 参数 * @param requestName 请求方法的名字 */-(void)postImageData:(NSMutableDictionary *)parameters requestName:(NSString *)requestName;@end//// Request.m// 咚咚API//// Created by 陆巧怡 on 15/6/30.// Copyright (c) 2015年 Simon. All rights reserved.//#import "Request.h"@implementation Request- (id)init{self = [super initWithBaseURL:[NSURL URLWithString:API_URL]];if (self) {// 得到的是二进制self.responseSerializer = [AFHTTPResponseSerializer serializer];//设置 设置为60s超时:请求时间超过60s会被认为连接不上,连接超时self.requestSerializer.timeoutInterval = 60;//[self settingConfigRequestData];}return self;}#pragma mark ========== Get请求 取得数据 ============/** * Get 取得数据 * * @param parameters 参数 * @param requestName 请求方法的名字 */- (void)getData:(NSMutableDictionary *)parameters requestName:(NSString *)requestName {//添加参数NSString *apiName = parameters[@"api"];[parameters removeObjectForKey:@"api"];[self GET:apiName parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {// HTML 需要转码NSMutableDictionary *responseData = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:nil];[self.delegate requestFinish:responseData requestName:requestName];} failure:^(NSURLSessionDataTask *task, NSError *error) {[self.delegate requestError:error requestName:requestName];}];}#pragma mark ========== post请求 取得数据 ============/** * Post 取得数据 * * @param parameters 参数 * @param requestName 请求方法的名字 */-(void)postData:(NSMutableDictionary *)parameters requestName:(NSString *)requestName{//添加参数NSString *apiName = parameters[@"api"];[parameters removeObjectForKey:@"api"];[self POST:apiName parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {// HTML 需要转码NSMutableDictionary *responseData = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:nil];[self.delegate requestFinish:responseData requestName:requestName];} failure:^(NSURLSessionDataTask *task, NSError *error) {[self.delegate requestError:error requestName:requestName];}];}#pragma mark ========== post请求包含图片信息 取得数据 ============-(void)postImageData:(NSMutableDictionary *)parameters requestName:(NSString *)requestName{//添加参数NSString *apiName = parameters[@"api"];[parameters removeObjectForKey:@"api"];//获取parameters 存储的图片数据NSMutableDictionary *imageDic = parameters[@"uploadImageData"];[parameters removeObjectForKey:@"uploadImageList"];[self POST:apiName parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {//遍历字典,取出图片的数据 然后添加到 formDatafor (NSString *key in imageDic) {NSData *imageData = UIImageJPEGRepresentation(imageDic[key], 1);[formData appendPartWithFileData:imageData name:key fileName:[NSString stringWithFormat:@"%@.jpg",key] mimeType:@"image/jpeg"];}} success:^(NSURLSessionDataTask *task, id responseObject) {// HTML 需要转码NSMutableDictionary *responseData = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:nil];[self.delegate requestFinish:responseData requestName:requestName];} failure:^(NSURLSessionDataTask *task, NSError *error) {[self.delegate requestError:error requestName:requestName];}];}/** * 设置默认传送的参数,需要时候在调用。结合需求,就是传固定参数。例如传版本号之类的。 */-(void)settingConfigRequestData{if (!self.configRequsetData) {self.configRequsetData = [NSMutableDictionary dictionary];self.configRequsetData[@"version"] = APP_VERSION;}}@end

=================================

积极的人在每一次忧患中都看到一个机会,而消极的人则在每个机会都看到某种忧患。

咚咚锵咚锵咚锵

相关文章:

你感兴趣的文章:

标签云: