0
Alamofireを使用してSwiftで実行する必要がある次のcurlコマンドがあります。AlamofireでCURLコマンドを実行しました
curl -k -i -d '{ "user": {"displayName":"My Test" ,"email":"[email protected]","pwd":"test","roles":["stu"]}}' -H "Content-Type: application/json;charset=UTF-8" -u web:web -X POST 'https://test.herokuapp.com/xtest/auth/register'
Alamofireを使用してSwiftで次の方法を試しました。私は、私がウェブを誤っていると感じていますが、私はそれを確認する手段がありません。 は、コンソールが私に私は理解していない、次のエラーを与える:
print response object
nil
print error
Optional(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.})
誰かがここで間違っているものを指摘することはできますか?どうも。
これは私が次のようにこの関数を呼び出すスウィフト
func registerNewStudent(displayName: String, email: String, password: String, completionHandler: (AnyObject?, NSError?) ->()) {
//Basic HTTP auth
let user = "web"
let password = "web"
let credentialData = "\(user):\(password)".dataUsingEncoding(NSUTF8StringEncoding)!
let base64Credentials = credentialData.base64EncodedStringWithOptions([])
let headers = ["Authorization": "Basic \(base64Credentials)"]
//example for a nested array query
let parameters = [
"user": [
"displayName": displayName,
"email": email,
"pwd": password,
"roles":["stu"]
]
]
Alamofire.request(
.POST,
registerURL,
headers: headers,
parameters: parameters
)
.responseJSON { response in
switch response.result {
case .Success(let value):
completionHandler(value, nil)
case .Failure(let error):
completionHandler(nil, error)
}
}
}
にCURLコマンドを変換する機能である:
func okButtonTapped(sender: UIButton) {
let displayNameText = displayNameInput.text
let emailText = emailInput.text
let passwordText = passwordInput.text
restApi.registerNewStudent(displayNameText!,emailInput: emailText!, passwordInput: passwordText!) {responseObject, error in
// use responseObject and error here
print("print response object")
print(responseObject)
print("print error")
print(error)
}
CURLコールからの応答:
{"result":{"email":"[email protected]","display_name":"My Test","pwd":"test","fb_id":null,"roles":["stu"]