URL base RestKit: directory siguiente nombre de dominio

Estoy intentando establecer mi URL base para RestKit como http://example.com/api así:

 // initialize AFNetworking HTTPClient NSURL *baseURL = [NSURL URLWithString:@"http://example.com/api"]; AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:baseURL]; // initialize RestKit RKObjectManager *objectManager = [[RKObjectManager alloc] initWithHTTPClient:client]; [RKObjectManager setShanetworkingManager:objectManager]; 

Sin embargo, por alguna razón, solo guarda el dominio http://example.com como la URL base y no hay directorys posteriores después de él.

Puedo simplemente anteponer /api delante de todas las llamadas a mi API (por ejemplo, /api/events/active lugar de /events/active ), pero sería mucho más fácil si finalmente fuera a trabajar con diferentes versiones de la API como (por ejemplo, /v1 ). Idealmente, solo podría cambiar la URL base y no tanto todas las routes individuales. ¿Alguna idea de por qué no puedo establecer la URL base correctamente?

¡Muchas gracias! Ryan

RESUELTO:

La URL base se almacenaba previamente como " http://example.com/api " y la ruta era "/ events".

Gracias a la respuesta de Paul a continuación, la forma correcta es almacenar URL base como " http://example.com/api/ " y la ruta como "events".

Bajo el capó AFHTTPClient usa -[NSURL URLWithString:relativeToURL:] para build sus URL. Si miras los documentos para este método, verás que espera una barra inclinada. Puede salirse con la suya ya que AFHTTPClient parece adjuntar esto para usted.

Eso nos deja con este problema potencial.

 NSURL *baseURL = [NSURL URLWithString:@"https://example.com/api/"]; NSLog(@"%@", [[NSURL URLWithString:@"/events" relativeToURL:baseURL] absoluteURL]); //=> https://example.com/events NSLog(@"%@", [[NSURL URLWithString:@"events" relativeToURL:baseURL] absoluteURL]); //=> https://example.com/api/events 

Si antepone una barra inclinada, anula cualquier componente de la ruta y solo usa la parte del host de la URL. Entonces, asegúrese de no anteponer una barra en sus paths.