- 将AFN的get请求和post请求封装在自己写的一个类
XZQHttpTool
里面。
- 这样需求变更的时候,只需要改一处就可以了。
- 最后使用的时候调用就可以了。
#pragmark -mark AFN的使用
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)even
{
// 写参数
NSDictionary *paramDict=@{
@"username":@"520it",
@"pwd":@"520it",
@"type":@"JSON"
};
[XZQHttpTool get:@"http://120.25.226.186:32812/login" params:paramDict success:^(id responseObj) {
NSLog(@"%@-%@",[responseObj class],responseObj);
} failure:^(NSError *error) {
NSLog(@"请求失败--%@",error);
}];
}
附:XZQHttpTool类
//
// XZQHttpTool.h
// AFN管理工具
//
// Created by xzq on 2018/4/22.
// Copyright © 2018年 xzq. All rights reserved.
// 网络请求工具类,负责整个项目中所有的Http网络请求
#import <Foundation/Foundation.h>
#import <AFNetworking.h>
@interface XZQHttpTool : NSObject
/**
* 发送一个GET请求
*
* @param url 请求路径
* @param params 请求参数
* @param success 请求成功后的回调(请将请求成功后想做的事情写到这个block中)
* @param failure 请求失败后的回调(请将请求失败后想做的事情写到这个block中)
*/
+ (void)get:(NSString *)url params:(NSDictionary *)params success:(void(^)(id responseObj))success failure:(void(^)(NSError *error))failure;
/**
* 发送一个POST请求
*
* @param url 请求路径
* @param params 请求参数
* @param success 请求成功后的回调(请将请求成功后想做的事情写到这个block中)
* @param failure 请求失败后的回调(请将请求失败后想做的事情写到这个block中)
*/
+ (NSURLSessionDataTask *)post:(NSString *)url params:(NSDictionary *)params success:(void(^)(id responseObj))success failure:(void(^)(NSError *error))failure;
@end
//
// XZQHttpTool.m
// AFN管理工具
//
// Created by xzq on 2018/4/22.
// Copyright © 2018年 xzq. All rights reserved.
// 网络请求工具类,负责整个项目中所有的Http网络请求
#import "XZQHttpTool.h"
@implementation XZQHttpTool
+(void)get:(NSString *)url params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
//1.获得请求管理者
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
//2.发送Get请求
[mgr GET:url parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
+(NSURLSessionDataTask *)post:(NSString *)url params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
//1.获得请求管理者
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
NSURLSessionDataTask *dataTask = [mgr POST:url parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
return dataTask;
}
@end
网友评论