#swift #string #api #endpoint
#swift #строка #API #конечная точка
Вопрос:
Я хочу использовать структуру для установки своих конечных точек.
Проблема в том, что какой-то конечной точке требуются параметры, я имею в виду, вот как это выглядит в коде:
для строк.XML (Android)
<string name="get_users">MyAPI/GetUsers</string>
<string name="get_user_by_id">MyAPI/GetUser/%d</string>
на Swift
import Foundation
struct Endpoints {
static let get_users = "MyAPI/GetUsers"
static let get_user_by_id = "MyAPI/GetUser/????"
}
Как я могу сделать второй на Swift?
Большое спасибо за ваше внимание
Комментарии:
1. Вы можете использовать
String(format:)
и сохранять держатель для размещения. Вы также можете проверить это swiftbysundell.com/clips/4 (например, перечисление с соответствующим значением)
Ответ №1:
Для этого варианта использования я бы использовал перечисление, например:
enum Endpoints {
case get_users
case get_user_by_id(String)
var path: String {
switch self {
case .get_users:
return "MyAPI/GetUsers"
case .get_user_by_id(let id):
return "MyAPI/GetUser/(id)"
}
}
}
Следующее
print(Endpoints.get_users.path)
print(Endpoints.get_user_by_id("foo").path)
С принтами
MyAPI/GetUsers
MyAPI/GetUser/foo