나는이 자습서를 따라 왔습니다. https://devdactic.com/parse-json-with-swift/ 그리고 모든 지시 사항을 그대로 따라야합니다. 하지만 내 api 서비스가 요청 된 매개 변수를 가져올 수없는 것처럼 나는 단지 HTTP 게시물 요청을 작동시키지 못했습니다. 가입 컨트롤러에서 호출 다음SwiftyJSON을 사용하여 게시물 요청을하는 방법
func registerNewUser(email: String,url: String, onCompletion: (JSON) -> Void) {
let route = baseURL + url
print(route)
let postItems:[String: String] = ["email": email]
print("postitems",postItems)
makeHTTPPostRequest(route, body: postItems, onCompletion: { json, err in
onCompletion(json as JSON)
print("response",json)
})
}
:
이func requestSignUp()
{
if((emailField.text?.isEmpty) == false)
{
//performSegueWithIdentifier("showVerification", sender: signUpBtn)
let url = "user/signup"
RestApiManager.sharedInstance.registerNewUser(emailField.text! as String, url: url as String, onCompletion: {
(json: JSON) in if let results = json[0].array {
for entry in results {
print(entry)
}
}
})
}
}
인쇄가 표시
private func makeHTTPPostRequest(path: String, body: [String: AnyObject], onCompletion: ServiceResponse) {
let request = NSMutableURLRequest(URL: NSURL(string: path)!)
// Set the method to POST
request.HTTPMethod = "POST"
do {
// Set the POST body for the request
let jsonBody = try NSJSONSerialization.dataWithJSONObject(body, options: .PrettyPrinted)
request.HTTPBody = jsonBody
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
if let jsonData = data {
let json:JSON = JSON(data: jsonData)
onCompletion(json, nil)
} else {
onCompletion(nil, error)
}
})
task.resume()
} catch {
// Create your personal error
onCompletion(nil, nil)
}
}
다음 내가 그것을 호출하는 함수를 만들었습니다 그래서 내 httppost 요청 방법 등록 사용자의 게시물 항목 형식은 다음과 같습니다.
postitems [ "em 괴롭히다 ":":
이response {
"responseData" : {
},
"responseStat" : {
"status" : false,
"isLogin" : false,
"requestError" : [
],
"msg" : "The email field is required.",
"extra" : {
}
}
}
이메일 필드 매개 변수가 이메일하고 성공적인 제출에 이런 식으로 뭔가 보여줄 것 :
{
"responseStat": {
"status": true,
"isLogin": false,
"msg": "Successfully Registered an, your password has been sent to your email",
"requestError": [],
"extra": {}
},
"responseData": ""
}
을 dasdsd은 "]
그리고 내 서비스 응답이 표시
당신은 좋은 선생님이 생명의 은인이다! 고맙습니다! – Jakub