Search code examples
jsonswiftalamofirecontent-type

Set content-type when performing GET using Alamofire 4


All I want to do is make a simple GET request using Alamofire 4 but set the content-type to application/json

I cannot see a way of doing it on the request. How do I do this.

I thought this would work but it doesn't.

Alamofire.request("https://dummy.com/dummy",
                           method: .get,
                           parameters: nil,
                           encoding: JSONEncoding.default,
                           headers: nil).responseJSON {
            response in
            print(response.request)  // original URL request
            print(response.response) // HTTP URL response
            print(response.data)     // server data
            print(response.result)   // result of response 
}

I need to do this so that the service I am calling will return the data as JSON rather than XML. Any ideas?


Solution

  • Set headers for that, create dictionary and set it with headers with Alamofire request.

    let header = ["content-type" : "application/json"]
    
    Alamofire.request("https://dummy.com/dummy",
                           method: .get,
                           parameters: nil,
                           encoding: JSONEncoding.default,
                           headers: header).responseJSON {
            response in
            print(response.request)  // original URL request
            print(response.response) // HTTP URL response
            print(response.data)     // server data
            print(response.result)   // result of response 
    }