[๋„คํŠธ์›Œํ‚น] iOS Swift Alamofire ์š”์ฒญ/์‘๋‹ตํ•˜๊ธฐ(form-dataํ˜•์‹)
iOS/Swift

[๋„คํŠธ์›Œํ‚น] iOS Swift Alamofire ์š”์ฒญ/์‘๋‹ตํ•˜๊ธฐ(form-dataํ˜•์‹)

์šฐ๋ฆฌ ์„œ๋ฒ„์— json ํ˜•์‹์œผ๋กœ ํฐ๋ฒˆํ˜ธ ๋„˜๊ฒผ๋”๋‹ˆ ์ž๊พธ ๋ณ€์ˆ˜ ๋ถ€์กฑ ์—๋Ÿฌ ์ฝ”๋“œ ๋œธ -> ์„œ๋ฒ„ํŒ€์— ๋ฌผ์–ด๋ด„ -> ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ ๋ณด๋‚ผ ๋•Œ json ๋ง๊ณ  form-data ํ˜•์‹์œผ๋กœ ๋ณด๋‚ด ๋‹ฌ๋ผ๊ณ  ํ•จ -> ๊ทธ๋Ÿฐ๋ฐ Alamofire์— form-data ํ˜•์‹์œผ๋กœ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์—ˆ๋‹ค!!!!

 

ํ‰์†Œ ํ•˜๋˜ ๊ฒƒ์ฒ˜๋Ÿผ(line 8์— ์ฃผ์„ ์ฒ˜๋ฆฌํ•œ ๋ถ€๋ถ„) request๋ฅผ ๋ณด๋‚ด๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ, ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•˜๋Š” ๊ฐœ๋…์ธ ๋“ฏ. ์•„๋ฌดํŠผ multipartFormData ํ™œ์šฉํ•ด์„œ ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ๋„ฃ์—ˆ๋”๋‹ˆ ์ œ๋Œ€๋กœ ์š”์ฒญ์ด ์ „์†ก๋๋‹ค. ๐Ÿฅบ

 

//MARK: SMS request
        // API ํ˜ธ์ถœ
        let paramForSMS:Parameters = ["userphonenum": phoneField.text]
        let url = "์—ฌ๊ธฐ์— url ์ฃผ์†Œ ๋„ฃ์œผ์„ธ์š”!!!"
        let call = AF.upload(multipartFormData: { multipartFormData in
            multipartFormData.append((self.phoneField.text!).data(using: .utf8)!, withName: "userphonenum")
        }, to: url)
        //let call = AF.request(url, method: HTTPMethod.post, parameters: paramForSMS, encoding: MultipartFormData.self as! ParameterEncoding)
        
        // ์„œ๋ฒ„ ์‘๋‹ต๊ฐ’ ์ฒ˜๋ฆฌ
        call.responseJSON { res in
            // JSON ํ˜•์‹์œผ๋กœ ๊ฐ’์ด ์ œ๋Œ€๋กœ ์ „๋‹ฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
            guard let jsonObject = try! res.result.get() as? [String:Any] else {
                self.alert("์„œ๋ฒ„ ํ˜ธ์ถœ ๊ณผ์ •์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.")
                print("์„œ๋ฒ„ ํ˜ธ์ถœ ์˜ค๋ฅ˜")
                return
            }
            // ์‘๋‹ต ์ฝ”๋“œ ํ™•์ธ. 0(true)์ด๋ฉด ์„ฑ๊ณต
            let resultCode = jsonObject["result"] as! String
            if resultCode == "success" {
                self.alert("์ธ์ฆ ๋ฒˆํ˜ธ๊ฐ€ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
                print("sms ์ „์†ก success with \(resultCode)")
                
            } else { // ์‘๋‹ต ์ฝ”๋“œ๊ฐ€ true๊ฐ€ ์•„๋‹ ๋•Œ์—๋Š” ์‹คํŒจ
                self.alert("ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•ด ์ฃผ์„ธ์š”.")
                print("sms ์ „์†ก ์‹คํŒจ with \(resultCode)")
            }
            
        }

 

 

๋„ˆ๋ฌด ์‹ ๋‚˜์„œ ๋ฉ‹์ง€๊ฒŒ ๊พธ๋ฐˆ