使用AFN提交JSON格式数据

这次的项目中来了个比较“坑”的新后台,她写的一个接口需要以POST方式提交一个JSON格式的数据到服务端,以前我合作过的所有后台不管是用GET还是POST发送请求,上传参数都是以字典的形式。第一次碰到这种“坑货”,花了我一个下午才研究出来,直接上代码:

// 将要POST的字典参数转化为JSON字符串,其中postData为字典参数
    NSData *data = [NSJSONSerialization dataWithJSONObject:postData options:0 error:nil];
    NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:urlStr parameters:nil error:nil];
    [request setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
    [[manager dataTaskWithRequest:request uploadProgress:^(NSProgress * _Nonnull uploadProgress) {
        
    } downloadProgress:^(NSProgress * _Nonnull downloadProgress) {
        
    } completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        if (!error) {
            NSInteger responseCode = [HELPER showResponseCode:response];
            success(responseObject, responseCode);
        }else{
            NSInteger responseCode = [HELPER showResponseCode:response];
            fail(error, responseCode);
        }
    }] resume];

猜你喜欢

转载自blog.csdn.net/Alexander_Wei/article/details/78297579