Skip to main content

Posts

Showing posts from December, 2019

Swift API Manager -Alamofire-Refresh Token-With TestCases

  import Foundation import KeychainAccess enum APIError : Error { case accessTokenExpired case networkError // Add more error cases as needed } class APIManager { private let keychain = Keychain (service: "com.example.app.refreshToken" ) private let refreshTokenKey = "refreshToken" private var accessToken: String ? func callAPI < T : Codable >( urlString : String , method : String , parameters : [ String : Any ] ? , completion : @escaping ( Result < T , APIError >) -> Void ) { guard let url = URL (string: urlString) else { completion(.failure(.networkError)) return } var request = URLRequest (url: url) request.httpMethod = method // Add access token to the request headers if available if let token = accessToken { request.setValue( "Bearer \(token) " , forHTTPHeaderField: "Aut...

Parsing JSON data from Alamofire into Response Array or Dictionary

1. model class used struct REVIEWLIST {          let rating_id : String !     let user_id : String !     let user_name : String !     let user_email : String !     let rating_type : String !     let rating : String !     let fac_id : String !     let event_id : String !     let admin_approval : String !     let report_abuse : String !     let created_on : String !     let updated_on : String !     let updated_by : String !     let review_message : String !          let review_listing : [ ReviewListing ]          init (json: [ String : Any ]) {                  let rating_id =   json[ "rating_id" ] as ? String         let user_id =   jso...