IOS网络请求方法之restfull请求

   之前做网络请求的时候,大部分时候都是用的三方AFNetWorking的库来进行网络请求的封装和调用,对于常规的GET请求已经POST请求使用起来非常容易,但是后面在实际项目中遇到了利用PHP写的后台,要求使用restFull请求进行网络请求,翻遍了很多资料都无果,后来终于了解到了一种NSURLSession系统库的restfull请求解决方案,以此来分享给大家。

  大家都知道restFull请求的请求方式分为很多种例如PUT,DELETE,POST等,还带有请求头,具体的大家可以使用Google的浏览器下载一个restfullApi的工具查看一下



- (void)sendResultToServiceWithMethod:(NSString *)method WithUrl:(NSString *)url withSendInfo:(NSDictionary *)paramDic responseCode:(void(^)(NSInteger code, NSData * _Nullable responseData))responses addShowView:(UIView *) mainView

{

    if (mainView ) {

        dispatch_async(dispatch_get_main_queue(), ^{

            [MBProgressHUD showHUDAddedTo:mainView animated:YES];

        });

    }

    

    NSURLSession *session = [NSURLSession sharedSession];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];

    [request setHTTPMethod:method];

//请求头设定,使用Bearer方式的Token传递也在此设置

    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

    [request setValue:@"application/json"  forHTTPHeaderField:@"Content-Type"];

    

    request.HTTPBody = [NSJSONSerialization dataWithJSONObject:paramDic options:NSJSONWritingPrettyPrinted error:nil];

    

  NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

        NSHTTPURLResponse *realResponse = (NSHTTPURLResponse *)response;

      responses(realResponse.statusCode,data);

      dispatch_async(dispatch_get_main_queue(), ^{

          [MBProgressHUD hideAllHUDsForView:mainView animated:YES];

      });

    }];

    [task resume];

}


------------------------------------------------------------------------------------------------------

以上方法都是个人使用中总结出来的,实际运用方法还请参考苹果官方开发文档


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值