同样根据以上的Reqres API 来示范
DELETE api 执行後只有status code 来判断是否删除成功,故不需要建一个model 来接response
我们在UserURLSession.swift
处理关於URLSession
的事件
func userDeleteRequest(id: Int, completionHandler: @escaping (String) -> Void) {
let url = URL(string: "https://reqres.in/api/users/\(id)")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
URLSession.shared.dataTask(with: request) { (data, response, error) in
var statusCode = -1
if let httpResponse = response as? HTTPURLResponse {
statusCode = httpResponse.statusCode
}
if(statusCode == 204){
completionHandler("DELETE Success")
}else{
completionHandler("DELETE Fail")
}
}.resume()
}
之後在View 设计画面并使用
DELETESampleView.swift
:
import SwiftUI
struct DELETESampleView: View {
@State private var response = ""
var body: some View {
NavigationView {
VStack {
Button {
UserURLSession.shared.userDeleteRequest(id: 2) { response in
DispatchQueue.main.async {
self.response = response
}
}
} label: {
Text("DELETE Request")
}
Text("response: \(response)")
}
.navigationBarTitleDisplayMode(.inline)
.navigationTitle(Text("URLSession DELETE Sample"))
}
}
}
struct DELETESampleView_Previews: PreviewProvider {
static var previews: some View {
DELETESampleView()
}
}
这边所有URLSession 的范例一起放在Github: URLSessionSample 供大家参考
<<: [Day27] 找回密码API、重设密码API – urls、测试阶段
昨天简略介绍了redis cluster的架构以及小小的讲了一下keydb,所以今天会透过redis...
走到铁人赛第30篇,肯定很多的心得。『是终点也是起点』,在接近完成的时刻,却在 9/29 迎来重磅...
如同上一章节所述,整个过程几乎和在本机安装、验证及执行类似。但是,在本机和Colab执行各有其优缺点...
阵列-一些操作阵列好用的方法 (二) 这篇整理一些常用的阵列方法 unshift unshift 会...
什麽是云端服务 ? 云端服务指的就是将软硬体等资源,放到网际网路上作为服务,使用者只需透过网路,就可...