Day24 URLSession 04 - DELETE

DELETE:删除资料

同样根据以上的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、测试阶段

>>:  Day42 ( 游戏设计 ) 九宫挌拼图

day20 : redisDB keyDB on K8S (下)

昨天简略介绍了redis cluster的架构以及小小的讲了一下keydb,所以今天会透过redis...

[Genero 4.00] 新上线,语言动态化(VAR)+自适应画面

走到铁人赛第30篇,肯定很多的心得。『是终点也是起点』,在接近完成的时刻,却在 9/29 迎来重磅...

NNI搬到Colab的优劣

如同上一章节所述,整个过程几乎和在本机安装、验证及执行类似。但是,在本机和Colab执行各有其优缺点...

[想试试看JavaScript ] 阵列一些操作阵列好用的方法 (二)

阵列-一些操作阵列好用的方法 (二) 这篇整理一些常用的阵列方法 unshift unshift 会...

Day02 - GCP 介绍及环境建置

什麽是云端服务 ? 云端服务指的就是将软硬体等资源,放到网际网路上作为服务,使用者只需透过网路,就可...