[英]Why doesn't Alamofire delete request no work?
Here is where I delete my a specific post.这是我删除我的特定帖子的地方。 So far all of my post and get requests work.
到目前为止,我所有的帖子和获取请求都有效。 This are the API specs: https://github.com/cuappdev/ios-course-messageboard#delete-postspost_id
这是 API 规格: https://github.com/cuappdev/ios-course-messageboard#delete-postspost_id
static func deletePost(id: Int, poster: String, completion: @escaping(Post) -> Void) {
let endpoint = "\(host)posts/\(id)"
let parameters: [String: Any] = [
"poster" : poster
]
AF.request(endpoint, method: .delete, parameters: parameters, encoding: JSONEncoding.default).validate().responseData { (response) in
switch response.result {
case .success(let data):
let jsonDecoder = JSONDecoder()
// get the userResponse
if let userResponse = try? jsonDecoder.decode(Post.self, from: data) {
completion(userResponse)
}
case .failure(let error):
print(error.localizedDescription)
}
}
}
static func getAllPosts(completion: @escaping ([Post]) -> Void) {
let endpoint = "\(host)posts/"
AF.request(endpoint, method: .get).validate().responseData { response in
switch response.result {
case .success(let data):
let jsonDecoder = JSONDecoder()
// get the userResponse
if let userResponse = try? jsonDecoder.decode(Posts.self, from: data) {
completion(userResponse)
}
break
case .failure(let error):
print(error.localizedDescription)
break
}
}
}
You can use the following code snippet.您可以使用以下代码片段。
static func deletePost(id: Int, poster: String, completion: @escaping(Post) -> Void) {
let endpoint = "\(host)posts/\(id)"
let parameters: [String: Any] = [
"poster" : poster,
"_method" : "DELETE"
]
AF.request(endpoint, method: .delete, parameters: parameters, encoding: JSONEncoding.default).validate().responseData { (response) in
switch response.result {
case .success(let data):
let jsonDecoder = JSONDecoder()
// get the userResponse
if let userResponse = try? jsonDecoder.decode(Post.self, from: data) {
completion(userResponse)
}
case .failure(let error):
print(error.localizedDescription)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.