Sto provando a implementare un'app iOS, che utilizza RestKit. In tutti gli esempi che ho visto finora il seguente codice viene utilizzato per creare gli URL:NSURL URLWithString: relativeToURL: è il clipping dell'URL relativo
NSURL *baseURL = [NSURL URLWithString:@"https://api.service.com/v1"];
NSURL *relativeURL = [NSURL URLWithString:@"/files/search" relativeToURL:baseURL];
Ma poi [relativeURL absoluteString]
tornerà https://api.service.com/files/search
.
Così ho provato un paio di esempi:
NSURL *baseURL1 = [NSURL URLWithString:@"https://api.service.com/v1/"];
NSURL *baseURL2 = [NSURL URLWithString:@"https://api.service.com/v1"];
NSURL *baseURL3 = [NSURL URLWithString:@"/v1" relativeToURL:[NSURL URLWithString:@"https://api.service.com"]];
NSURL *relativeURL1 = [NSURL URLWithString:@"/files/search" relativeToURL:baseURL1];
NSURL *relativeURL2 = [NSURL URLWithString:@"/files/search" relativeToURL:baseURL2];
NSURL *relativeURL3 = [NSURL URLWithString:@"/files/search" relativeToURL:baseURL3];
NSURL *relativeURL4 = [NSURL URLWithString:@"files/search" relativeToURL:baseURL1];
NSURL *relativeURL5 = [NSURL URLWithString:@"files/search" relativeToURL:baseURL2];
NSURL *relativeURL6 = [NSURL URLWithString:@"files/search" relativeToURL:baseURL3];
NSLog(@"1: %@", [relativeURL1 absoluteString]);
NSLog(@"2: %@", [relativeURL2 absoluteString]);
NSLog(@"3: %@", [relativeURL3 absoluteString]);
NSLog(@"4: %@", [relativeURL4 absoluteString]);
NSLog(@"5: %@", [relativeURL5 absoluteString]);
NSLog(@"6: %@", [relativeURL6 absoluteString]);
e questo è l'output:
1: https://api.service.com/files/search
2: https://api.service.com/files/search
3: https://api.service.com/files/search
4: https://api.service.com/v1/files/search
5: https://api.service.com/files/search
6: https://api.service.com/files/search
Quindi l'unico esempio tornando quello che voglio è # 4. Qualcuno può spiegare perché?
@downvoter spiegare perché ... è perché il leader /? Ottengo che e quindi modificato e votato fino mike .. ma per favore commenti di ogni volta che si Answer –
ancora: ultima giù elettore voi prego lasciare un commento in modo da poter risolvere il problema, se necessario –
il baseURL ha bisogno di finire in un/e l'url relativo non dovrebbe iniziare con/questo è assolutamente corretto :). Ho avuto qualche problema con l'url di base e il percorso. Puoi aggiungere il link per [RFC1808] – Johnykutty