3οΈβ£POST Requests
Fall 2023 | Vin Bui
Creating a POST Request
struct Member: Codable {
let name: String
let subteam: String
let position: String
}// 1. Create the function
func addToRoster(member: Member, completion: @escaping (Member) -> Void) {
// 2. Specify the endpoint
let endpoint = "<Enter URL String Here>"
// 3. Define the request body
let parameters: Parameters = [
"name": member.name,
"subteam": member.subteam,
"position": member.position
]
// 4. Create a decoder
let decoder = JSONDecoder()
// decoder.dateDecodingStrategy = .iso8601 // Only if needed
// decoder.keyDecodingStrategy = .convertFromSnakeCase // Only if needed
// 5. Create the request
AF.request(endpoint, method: .post, parameters: parameters, encoding: JSONEncoding.default)
.validate()
.responseDecodable(of: Member.self, decoder: decoder) { response in
// 5. Handle the response
switch response.result {
case .success(let member):
print("Successfully added member \(member.name)")
completion(member)
case .failure(let error):
print("Error in NetworkManager.addToRoster: \(error)")
}
}
}Calling the Network Request
Success or Failure?
Last updated
Was this helpful?