把介面URL序列化並輸出--樑澤
阿新 • • 發佈:2019-02-20
我們在調起請求前 呼叫+ (NSString*)lz_urlEncode:(NSString*)str { NSString *result = (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)str, CFSTR("."), CFSTR(":/?#[]@!$&'()*+,;="), kCFStringEncodingUTF8); return result; } + (NSString *)lz_urlParametersStringFromParameters:(NSDictionary *)parameters { NSMutableString *urlParametersString = [[NSMutableString alloc] initWithString:@""]; if (parameters && parameters.count > 0) { for (NSString *key in parameters) { NSString *value = parameters[key]; value = [NSString stringWithFormat:@"%@",value]; value = [self lz_urlEncode:value]; [urlParametersString appendFormat:@"&%@=%@", key, value]; } } return urlParametersString; } + (NSString *)lz_urlStringWithOriginUrlString:(NSString *)originUrlString appendParameters:(NSDictionary *)parameters { NSString *filteredUrl = originUrlString; NSString *paraUrlString = [self lz_urlParametersStringFromParameters:parameters]; if (paraUrlString && paraUrlString.length > 0) { if ([originUrlString rangeOfString:@"?"].location != NSNotFound) { filteredUrl = [filteredUrl stringByAppendingString:paraUrlString]; } else { filteredUrl = [filteredUrl stringByAppendingFormat:@"?%@", [paraUrlString substringFromIndex:1]]; } return filteredUrl; } else { return originUrlString; } }
lz_urlStringWithOriginUrlString:(NSString *)originUrlString appendParameters:(NSDictionary *)parameters
這個方法就OK了。我是這樣用的NSLog(@"POST型別序列化介面:%@",[AFHTTPSessionManager lz_urlStringWithOriginUrlString:url appendParameters:parameters]); NSLog(@"POST型別介面:%@ \n引數:%@",url,parameters);
Parameters