kanyun-inc/YTKNetwork

请求包含/user/page 则url为nil

chjsun opened this issue · 0 comments

如果requestUrl包含/User/Page。URL拼接后为nil。查看源码发现在 buildRequestUrl:时。
最后一步拼接 「return [NSURL URLWithString:detailUrl relativeToURL:url].absoluteString;」
这一步返回nil。附测试图。
image
这个方法是系统方法,无可奈何,也不知道啥问题。求帮助。

如果测试,可以使用这个方法

- (void)baseUrls {

    NSArray *requestURLs = @[@"/api/v3.1/User​/Page/",
                             @"api/v3.1/User​/Page",
                             @"/api/v3.1/User​/Page",
                             @"/api/v3.1/User​/search",
                             @"/api/v3.1/User​/Search",
                             @"/api/v3.1/User/Search",
                             @"/api/v3.1/User/Search",
                             @"/api/v3.1/Follow/Page",
                             @"/api/v3.1/User/Follow",
                             @"/api/v3.1/User/Page",
                             @"api/v3.2/User​/Page",
                             @"api/v3.2/User​/Page/aaa/bbb"];


    NSURL *baseURL = [NSURL URLWithString:@"http://appgateway.xxx.xx-xxx.xxx.com/"];

    for (NSString *aRequestURL in requestURLs) {
        NSURL *constructedURL = [NSURL URLWithString:aRequestURL relativeToURL:baseURL];
        if (constructedURL) {
            NSLog(@"Success: %@", constructedURL.absoluteString);
        } else {
            NSLog(@"Error  : %@ + %@", baseURL.absoluteString, aRequestURL);
        }
    }
    //WORKS
    NSLog(@"===================");
}