AFNetworking 3.0 post请求后台接收不到参数
1.后台是用的Java开发的,前后没在一起,所以沟通起来有点困扰.
2.使用AF请求的时候,后台一直收不到参数.....就建了多个请求demo来进行测试还是不行...
3.使用了postman paw等测试工具测试了几次...是能够收到参数的
4.只要postman等工具能让后台接收到参数.那么问题就是出在前端了
5.AF有两个关于POST请求的方法,第二个方法有个constructingBodyWithBlock 没有深究这个有什么用途.但是请求到的内容确实不一样
- (NSURLSessionDataTask*)POST:(NSString*)URLString
parameters:(id)parameters
progress:(void(^)(NSProgress*_Nonnull))uploadProgress
success:(void(^)(NSURLSessionDataTask*_Nonnull,id_Nullable))success
failure:(void(^)(NSURLSessionDataTask*_Nullable,NSError*_Nonnull))failure
- (NSURLSessionDataTask*)POST:(NSString*)URLString
parameters:(id)parameters
constructingBodyWithBlock:(void(^)(id formData))block
progress:(nullablevoid(^)(NSProgress*_Nonnull))uploadProgress
success:(void(^)(NSURLSessionDataTask*task,idresponseObject))success
failure:(void(^)(NSURLSessionDataTask*task,NSError*error))failure
6.首先尝试第二种AF的POST请求.
7.如果后台还是接收不到参数,那么就要尝试改变Content-type的参数了
8.最终在AF第二个方法的配合下....加上下面这行代码,解决了问题
[mananger.requestSerializersetValue:@"application/x-www-form-urlencoded"forHTTPHeaderField:@"Content-Type"];