iOS中使用AFN的delete请求遇到的坑
来源:互联网 发布:北京知蜂堂上海店 编辑:程序博客网 时间:2024/05/23 01:15
事情是这样的:我们公司的项目中有地方用到删除功能,服务器端给提供了删除接口 使用的是delete请求方式,我度娘查看了delete的相关问题写的都很少,然后自己摸索二次封装了delete。然后传参,服务器端要传的是类似post请求的body体中的数据 也就是传一个字典过去 ,那么我就把字典给他传过去呗,结果是服务器死活收不到这个我传过去的字典数据,然后就是我跟后台联调,发现我传过去的是将字典拆分后拼接到了url后面 ,而服务器这边所需要的并不是 拼接后的数据 ,这样问题就来了,怎么才能不拼接?于是又去度娘,发现 delete请求和get请求类似 都是将params 进行拼接的,怎么办?只能去找服务器改他那的接收方式?然后我就在 afn的post请求源码中处理拼接的地方打断点查看 并与delete方法进行对比 发现这个方法:
#pragma mark - AFURLRequestSerialization
- (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request
withParameters:(id)parameters
error:(NSError *__autoreleasing *)error
{
NSParameterAssert(request);
if ([self.HTTPMethodsEncodingParametersInURIcontainsObject:[[requestHTTPMethod] uppercaseString]]) {
return [superrequestBySerializingRequest:requestwithParameters:parameterserror:error];
}
如果 是post的话就会走外面 如果是delete的话就会走if里面所以我想 是不是可以 设置HTTPMethodsEncodingParametersInURI这个属性来操作params使其不拼接,又改动 后 与后台联调成功了 代码是这样的:
manager.requestSerializer.HTTPMethodsEncodingParametersInURI = [NSSetsetWithArray:@[@""]];
HTTPmethod 其中默认的是 GET,DELETE,HEAD 我不知道这样改动会带来哪些其他的问题 如果有哪位大神知道这个问题还请帮我改进下。感谢了!
最后说下这个问题的其他解决办法就是让服务器更改他那边的接收数据的方式,类似于get请求那种接收方式就ok啦
- iOS中使用AFN的delete请求遇到的坑
- AFN请求的一个坑
- ios中AFN的应用
- iOS中关于判读网络状态的问题,使用AFN
- iOS开发使用AFN请求服务器数据,报错误码-1016的解决办法(图解)
- iOS 开发 https问题使用AFN进行网络请求时做的一些配置
- 【iOS开发-网络】AFN的使用
- iOS开发之AFN的基本使用
- iOS--关于AFN和ASI的post登录请求
- AFN请求的 数据传递
- AFN的使用
- AFN的 基本使用
- AFN的使用
- AFN的使用方式
- AFN的使用
- AFN-的基本使用
- AFN 的使用问题
- Rails中Delete请求无法使用的解决方案
- android studio 结构 理解
- MyEclipse10.7配置Tomcat7.0
- 标准库类型vector
- 使用React和node搭建任务管理平台
- 深入理解 Java 垃圾回收机制
- iOS中使用AFN的delete请求遇到的坑
- 【c++】用c++的vector容器编写简单的通讯录
- 《你好哇,程序员》—教你如何成为一名牛X的程序员
- 服务Service之绑定服务(远程服务)
- python整数与IP地址转换
- openwrt 支持fbterm
- Raspbian 修改分辨率与旋转屏幕
- 安卓注解使用,实体类指定须使用字段, Google Gson 字段过滤
- Maven高速镜像