ios开发点滴-AFNetworking 使用

来源:互联网 发布:手机淘宝p图软件 编辑:程序博客网 时间:2024/05/10 21:39

不多说,直接进入主题:

GET方法:

-(void)getInfo{        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    HHTProfileShippingAddressFetchReq *req=[[HHTProfileShippingAddressFetchReq alloc]init];    req.userID=@"17";    NSDictionary *dicReq=[PrintObject getObjectData:req];    [manager GET:@"http://localhost:8000/profile/shippingaddress/fetch" parameters:dicReq success:^(AFHTTPRequestOperation *operation, id responseObject) {        NSLog(@"JSON: %@", responseObject);    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        NSLog(@"Error: %@", error);    }];   }



方法中需要注意的是:

1.这个方法是afn2.0之后推荐使用的新方法

2.get请求的参数是拼接在url后面的,本方法对此做了封装,只需要把需要的参数放到一个NSDictionary里面就行

3.我这里对对象进行的处理,直接将对象通过PrintObject类的getObjectData:方法将对象直接转换为NSDictionary对象

4.方法中的参数比较简单,第一个是请求的地址,第二个是请求的参数,GET结果在block里面进行


POST方法:我做了个登陆功能为例

-(void)login{        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    manager.requestSerializer = [AFJSONRequestSerializer serializer];    //请求体对象    HHTAccountLoginReq *req=[[HHTAccountLoginReq alloc]init];    req.userName=@"senyang";    req.cryptPasswd=@"ii";    //对象转为Dictioniary    NSDictionary *parameters = [PrintObject getObjectData:req];    //执行post    [manager POST:@"http://localhost:8000/account/login" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {        NSLog(@"JSON: %@", responseObject);    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        NSLog(@"Error: %@", error);    }];}

post需要注意的地方:

manager.requestSerializer = [AFJSONRequestSerializer serializer];


1.我的后台是接受的json格式的数据,所以上面这一句话是最关键的,没有这句话会出现404错误,这个是我做的时候找了很久才解决的问题

2.参数就没的说了,跟GET方法是一样的

0 0
原创粉丝点击