1)
Я новичок в использовании alamofire. Вот моя попытка использовать alamofire для проверки веб-службы там, где я ошибаюсь. Я сделал веб-службу входа в loginviewcontroller.swift следующим образом
let url="http://192.169.201.32:9000//users/authenticate"
@IBAction func DoLogin(_ sender: AnyObject) {
Alamofire.request(url, method: .post, parameters:["username":"andrews","password":"admin2"], encoding: URLEncoding.default)
.responseJSON { response in
print("abcsign in")
print(response)
print("abcsign in3")
print(response.result)
//to get status code
if let status = response.response?.statusCode {
switch(status){
case 201:
print("example success")
default:
print("error with response status: \(status)")
}
}
//to get JSON return value
if let result = response.result.value {
let JSON = result as! NSDictionary
print("abcsign in 2")
print(JSON)
}
}
if(login_button.titleLabel?.text == "Logout")
{
let preferences = UserDefaults.standard
preferences.removeObject(forKey: "session")
LoginToDo()
}
else{
login_now(username:username_input.text!, password: password_input.text!)
}
}
print (response)
FAILURE
responseSerializationFailed (Alamofire.AFError.ResponseSerializationFailu> reReason.jsonSerializationFailed (Ошибка домена = значение NSCocoaErrorDomain = около 3840 дюймов)символ 2. "UserInfo = {NSDebugDescription = Недопустимое значение вокруг символа 2.}))
print (response.result)
FAILURE
error with response status: 404
2)
Второй signUpviewcontroller.swift связан с контроллером представления signUp. В signUpViewController.swift код для веб-службы singUp выглядит следующим образом
let url="http://192.169.201.32:9000//patient/signUp"
@IBAction func signUpButtonWasPressed(_ sender: Any) {
Alamofire.request(url, method: .post, parameters:["dob":DateOfBirthTextFeild.text ,
"email":emailIdTextField.text ,
"firstName":FirstNameTextField.text ,
"gender":genderTextField.text ,
"lastName":LastNameTextField.text ,
"middleName":MiddleNameTextField.text ,
"password":passwordTextField.text , //password must be 8 char long
"ssn":ssnTextField.text], encoding: URLEncoding.default)
.responseJSON { response in
print("abcsig up ")
print(response)
print("abcsign up 3")
print(response.result)
//to get status code
if let status = response.response?.statusCode {
switch(status){
case 201:
print("example success")
default:
print("error with response status: \(status)")
}
}
//to get JSON return value
if let result = response.result.value {
let JSON = result as! NSDictionary
print("abcsign up in 2")
print(JSON)
}
}
}
print (ответ)
FAILURE
responseSerializationFailed (Alamofire.AFError.ResponseSerializationFailu> reReason.jsonSerializationFailed (Ошибка
Domai)n = NSCocoaErrorDomain Code = 3840 «Недопустимое значение для символа 2.» UserInfo = {NSDebugDescription = Недопустимое значение для символа 2.}))
print (response.result)
ошибка со статусом ответа: 404
как я могу получить действительный ответ json?
Вы можете скачать проект по этой ссылке https://drive.google.com/file/d/1Q__ydaQ7o0fKcFHdq6ymkxh52IEf7hMK/view?usp=sharing Здесь на почтальонеAPI показывает требуемый JSON Out положил.
Sigin Up:
image1
image2
Логин:
image3
image4
предоставить параметры в теле.Вы можете добавить параметры json, преобразовывающие запрос json url, в публикацию. На вкладке ниже выделите тело, поместите параметры здесь, выбрав raw.