2017-01-08 3 views
0

Я пытаюсь в Request Adapter of Alamofire добавить параметр GET. Однако в адаптере запроса я могу только добавлять поля HTTPHeader.Добавить параметр GET в адаптер запроса Alamofire

В настоящее время мой request adapter выглядит следующим образом:

// MARK: - RequestAdapter 

func adapt(_ urlRequest: URLRequest) throws -> URLRequest { 
    if let url = urlRequest.url, url.lastPathComponent.hasPrefix(baseURLString) { 
     var urlRequest = urlRequest 

     // Want to inject param here 
     // e.g. urlRequest.addParam(param: "session", value: sessionToken") 

     return urlRequest 
    } 

    return urlRequest 
} 

У меня есть маршрутизатор, настроенный для Путей, но так как я хочу, чтобы мой AuthHandler отвечать всем связанному Authentication материала, который я хочу, чтобы ввести свой sessionToken. Это позволяет вместе с RequestRetrier устранить любую связанную с HTTP 401 ошибку.

Каков наилучший способ изменить urlRequest?

ответ

1

Вы можете попробовать

let params: Parameters = ["session": sessionToken] 
return URLEncoding.default.encode(urlRequest, with: params) 

(или)

return URLEncoding.queryString.encode(urlRequest, with: params) 

Thanks Sriram

+0

Это работало отлично. Благодаря! – Emptyless

 Смежные вопросы

  • Нет связанных вопросов^_^