Я использую Alamofire, и у меня есть такая команда curl:
curl "https://abc.mywebsite.com/obp/v3.1.0/my/page/accounts/myaccount1/account" -H 'Authorization: DirectLogin token="eyJhbGciOiJIUzI1NiIsInR5cCI6wkpeVeCJr.eyIiOiIifQ.MV-E150zMCrk6VrWv"' -H 'Content-Type: application/json'
Эта команда отлично работает в командной строке, и я успешно получаю ответ.
Для Swift я нашел очень мало помощи в Интернете, которая не работала для меня, и поэтому оставив здесь вопрос, как я могу сделать этот вызов, используя Swift?
В идеале я хотел бы использовать Alamofire, поскольку именно это я использую для всех своих сетевых вызовов.
У меня есть что-то подобное, но оно не работает, оно выдает ошибку User Unauthorized, что означает, что он подключается к серверу, но не отправляет параметры правильно.
let url = "https://abc.mywebsite.com/obp/v3.1.0/my/page/accounts/myaccount1/account"
let loginToken = "'Authorization' => 'DirectLogin token=\"eyJhbGciOiJIUzI1NiIsInR5cCI6wkpeVeCJr.eyIiOiIifQ.MV-E150zMCrk6VrWv\"', 'Content-Type' => 'application/json'"
@IBAction func callAPIAction(_ sender: Any) {
Alamofire
.request(
self.url,
parameters: [
"token" : self.loginToken
]
)
.responseString {
response in
switch response.result {
case .success(let value):
print("from .success \(value)")
case .failure(let error):
print(error)
}
}
}