0
webservice, userName & 암호를 사용하여 양식 데이터를 게시하려고하는데 응답으로 "서버에 연결할 수 없습니다."라는 오류가 표시됩니다.Swift에서 POST 요청으로 양식 데이터를 보내는 방법 3
POST 요청에 양식 데이터를 보내주십시오.
요청에 값을 추가하려했으나 요청에 누락 된 값이있을 수 있습니다. 도와주세요!
webservice, userName & 암호를 사용하여 양식 데이터를 게시하려고하는데 응답으로 "서버에 연결할 수 없습니다."라는 오류가 표시됩니다.Swift에서 POST 요청으로 양식 데이터를 보내는 방법 3
POST 요청에 양식 데이터를 보내주십시오.
요청에 값을 추가하려했으나 요청에 누락 된 값이있을 수 있습니다. 도와주세요!
내 호출 API 클래스
class ApiService
{
static func getPostString(params:[String:Any]) -> String
{
var data = [String]()
for(key, value) in params
{
data.append(key + "=\(value)")
}
return data.map { String($0) }.joined(separator: "&")
}
static func callPost(url:URL, params:[String:Any], finish: @escaping ((message:String, data:Data?)) -> Void)
{
var request = URLRequest(url: url)
request.httpMethod = "POST"
let postString = self.getPostString(params: params)
request.httpBody = postString.data(using: .utf8)
var result:(message:String, data:Data?) = (message: "Fail", data: nil)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if(error != nil)
{
result.message = "Fail Error not null : \(error.debugDescription)"
}
else
{
result.message = "Success"
result.data = data
}
finish(result)
}
task.resume()
}
}
때 사용이
ApiService.callPost(url: url, params: params, finish: finishPost)
및
func finishPost (message:String, data:Data?) -> Void
{
do
{
if let jsonData = data
{
let parsedData = try JSONDecoder().decode(Response.self, from: jsonData)
print(parsedData)
}
}
catch
{
print("Parse Error: \(error)")
}
}
감사합니다. @Sofia Lu –
는 또한이 일을 위해 AlamoFire 포드 체크 아웃 마무리 기능 에이 n 쉬운 방법. – TheValyreanGroup
@TheValyreanGroup Alamofire를 사용했지만 같은 문제가 발생했습니다. API는 POSTMAN에서 잘 작동합니다. –
@ TheValyreanGroup : 내 코드 : let urlString = "https://xxx.xxxx.xxxx.xxx/login" let herers = [ "Content-Type": "application/form-data " ] Alamofire.request (urlString, 메서드 : .post, 매개 변수 : ["사용자 이름 ": 사용자 이름,"암호 ": 비밀번호], 인코딩 : JSONEncoding.default, 헤더 : 헤더) 스위치 응답 .result는 { 경우는 일단 .success : 인쇄 (오류) : 인쇄 (응답) 휴식 경우 .failure (오류)하자} } –