awesome-ios-developer/Helper/Network Layer/Encoding/JSONParameterEncoder.swift
2021-05-19 23:12:43 -05:00

23 lines
679 B
Swift

//
// JSONParameterEncoder.swift
// MapDemoApp
//
// Created by JungpyoHong on 4/25/21.
//
import Foundation
struct JSONParameterEncoder: ParameterEncoder {
static func encode(urlRequest: inout URLRequest, with parameters: Parameters) throws {
do {
let jsonAsData = try JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted)
urlRequest.httpBody = jsonAsData
if urlRequest.value(forHTTPHeaderField: "Content-Type") == nil {
urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type")
}
} catch {
throw AppError.encodingFail
}
}
}