GET 请求
func makeMyGetCall(_ urlStr: String) {
guard let url = URL(string: urlStr) else {
print("Error: cannot convert urlStr to url")
return
}
let urlRequest = URLRequest(url: url)
let session = URLSession.shared
let task = session.dataTask(with: urlRequest) { (data, response, error) in
guard error == nil else {
print("Error: error is not nil")
return
}
guard let responseData = data else {
print("Error: data is nil")
return
}
do {
guard let responseDict = try JSONSerialization.jsonObject(with: responseData, options: []) as? [String: Any] else {
print("Error: cannot convert data to dict")
return
}
print(responseDict.description)
} catch {
print("Error: cannot convert data to dict")
return
}
}
task.resume()
}
复制代码
POST 请求
func makeMyPostCall(_ urlStr: String, _ parameter: [String: Any]) {
guard let url = URL(string: urlStr) else {
print("Error: cannot convert urlStr to url")
return
}
var urlRequest = URLRequest(url: url)
urlRequest.httpMethod = "POST"
do {
let parameterData = try JSONSerialization.data(withJSONObject: parameter, options: [])
urlRequest.httpBody = parameterData
} catch {
print("Error: cannot convert parameter to parameterData")
return
}
let session = URLSession.shared
let task = session.dataTask(with: urlRequest) { (data, response, error) in
guard error == nil else {
print("Error: error is not nil")
return
}
guard let responseData = data else {
print("Error: responseData is nil")
return
}
do {
guard let responseDict = try JSONSerialization.jsonObject(with: responseData, options: []) as? [String: Any] else {
print("Error: cannot convert responseData to responseDict")
return
}
print(responseDict.description)
} catch {
print("Error: cannot convert responseData to responseDict --")
return
}
}
task.resume()
}
复制代码
Thank cmoulton for her help
转载于:https://juejin.im/post/5bbec19be51d450e5c47abc2