Swift: Как добавить формат словаря в forHTTPHeaderField в запросе GET - PullRequest
0 голосов
/ 13 июня 2019

В запросе GET я пытаюсь добавить заголовок.

request.setValue(value: String?, forHTTPHeaderField: "SessionInfo")

Но, SessionInfo значение в [String : Any]

Попытка 1:

func SO_Function() {

    let service_url = WebService.sharedManager().serviceURL
    let getMenuURL = service_url + "/MyPage/FileDownload.ashx"

    var convertedString = ""

    do {
        let data1 = try JSONSerialization.data(withJSONObject: WebService.sharedManager().mobInfoDict, options: [])
        convertedString = String(data: data1, encoding: .utf8)!
        print("\n\nconvertedJSONtoData  ", convertedString)

    } catch {
        print("\n\nCAtcLL___Err   ",error.localizedDescription)
    }

    let url = NSURL(string: getMenuURL)
    let request = NSMutableURLRequest(url: url! as URL)

    //Below line, If I can able to add [String:Any] then I will get 
    proper Image as output.

    request.setValue(convertedString, forHTTPHeaderField: "SessionInfo")
    request.setValue("67a2a6fb1d13450a", forHTTPHeaderField: "Flowid")
    request.setValue("d29566ac42de4e99", forHTTPHeaderField: "Fileid")
    request.setValue("LMS_LEAVEREQUEST", forHTTPHeaderField: "Form")

    request.httpMethod = "GET"

    let session = URLSession.shared

    let mData = session.dataTask(with: request as URLRequest) { (data, response, error) -> Void in
        if let res = response as? HTTPURLResponse {

            DispatchQueue.main.async {

                let img = UIImage(data: data!)
                self.attachmentImgVw.image = img
            }

        }else{
            print("\n\nError: \(String(describing: error))")
        }
    }
    mData.resume()
}

выход

Данные не могут быть прочитаны, потому что они не в правильном формате.

Ошибка ScreenShot 1:

enter image description here

Скриншот почтальона

В почтальоне я даю значение SessionInfo в формате Dictionary. Работает нормально.

enter image description here

Как решить эту проблему?

...