I have screen to register user. I have a post api for this. But I am not able to register the user. I don't understand where I went wrong. I would be glad if you help.
MODEL:
struct NewUserModel: Codable {
let name: String?
let address: String?
let year: String?
let email: String?
let district: String?
let phone: String?
let repassword: String?
let city: String?
let password: String?
let surname: String?
let tcno: String?
let city: String?
}
WebService Class
class Webservice {
func regisUser(email: String, password: String, repassword: String, name: String, surname: String, phone: String, year: String, city: String, country: String, district: String, address: String, tcno: String, completion: @escaping (Result<String, AuthenticationError>) -> Void) {
guard let url = URL(string: "http://ec2-3-74-42-117.eu-central-1.compute.amazonaws.com:8080/api/insertuser") else {
completion(.failure(.custom(errorMessage: "URL is not correct")))
return
}
var urlRequest = URLRequest(url: url)
urlRequest.httpMethod = "POST"
let request = NewUserModel(name: name, address: address, year: year, email: email, district: district, phone: phone, repassword: repassword, city: city, password: password, surname: surname, tcno: tcno, ulke: ulke)
do {
let requestBody = try JSONEncoder().encode(request)
urlRequest.httpBody = requestBody
urlRequest.addValue("application/json", forHTTPHeaderField: "content-type")
}catch let error {
debugPrint(error.localizedDescription)
}
URLSession.shared.dataTask(with: urlRequest) { (data, httpUrlResponse, error) in
if(data != nil && data?.count != 0)
{
do {
let response = try JSONDecoder().decode([NewUserModel].self, from: data!)
print("Success")
}
catch let decodingError {
debugPrint(decodingError)
}
}
}.resume()
}
}
When I press the register button, it does not register the user, but it prints success to the console.
LoginPageViewModel
@Published var email: String = ""
@Published var password: String = ""
@Published var repassword: String = ""
@Published var name: String = ""
@Published var surname: String = ""
@Published var phone: String = ""
@Published var year: String = ""
@Published var city: String = ""
@Published var city: String = ""
@Published var district: String = ""
@Published var address: String = ""
@Published var tcno: String = ""
func Register(){
Webservice().regisUser(email: email, sifre: sifre, resifre: resifre, ad: ad, soyad: soyad, phone: phone, dogumyili: dogumyili, ulke: ulke, sehir: sehir, ilce: ilce, adres: adres, tcno: tcno) { result in
switch result {
case .success(_):
DispatchQueue.main.async {
print("ok) }
case .failure(let error):
print(error.localizedDescription)
}
}
}
LoginPage View
@StateObject var loginData: LoginPageModel = LoginPageModel()
// Login Button...
Button {
if loginData.registerUser{
loginData.Register()
}
else{
loginData.Login()
}