Как организовать Url API в Objective-C
Я пытаюсь организовать все мои url-адреса API в одном файле, что я делаю, я создал файл заголовка и добавил следующие строки
#define LOGIN_URL @"http://192.168.100.100/api/login"
#define SIGNUP_URL @"http://192.168.100.100/api/signup"
#define PRODUCTS_URL @"http://192.168.100.100/api/products"
#define EMPLOYEE_URL @"http://192.168.100.100/api/employee"
#define GET_PRODUCTS_URL @"http://192.168.100.100/api/getproducts"
#define CLIENTS_URL @"http://192.168.100.100/api/clients"
на base url
is http://192.168.100.100/
который будет продолжать меняться, мне всегда нужно найти и заменить IP-адрес.
Есть ли лучшие способы организации Url-адресов API? 2 ответов
Эй, вы можете организовать все ваши Url-адреса API, используя следующий код
#define SITE_URL(url) @"http://192.168.100.100/api" url
#define LOGIN_URL SITE_URL("/login")
#define SIGNUP_URL SITE_URL("/signup")
#define PRODUCTS_URL SITE_URL("/products")
#define EMPLOYEE_URL SITE_URL("/employee")
#define GET_PRODUCTS_URL SITE_URL("/getproducts")
#define CLIENTS_URL SITE_URL("/clients")
мне лично нравится использовать константы над #define
вот как я бы сделал то, что вы пытаетесь сделать.
MyAppConstants.h
extern NSString * const kLOGIN_URL;
extern NSString * const kSIGNUP_URL;
extern NSString * const kPRODUCTS_URL;
extern NSString * const kEMPLOYEE_URL;
extern NSString * const kGET_PRODUCTS_URL;
extern NSString * const kCLIENTS_URL;
MyAppConstants.м
NSString * const kLOGIN_URL = @"/login"
NSString * const kSIGNUP_URL = @"/signup"
NSString * const kPRODUCTS_URL = @"/products"
NSString * const kEMPLOYEE_URL = @"/employee"
NSString * const kGET_PRODUCTS_URL = @"/getproducts"
NSString * const kCLIENTS_URL = @"/clients"
тогда, когда я использую константы, я бы сделал что-то вроде...
NSURL *loginURL = [NSURL URLWithString:[baseUrl stringByAppendingString:kLOGIN_URL]];