¿Por qué no funciona la solicitud de eliminación de Alamofire?
Aquí es donde elimino una publicación específica. Hasta ahora, todas mis solicitudes de publicación y obtención funcionan.
Estas son las especificaciones de la 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
}
}
}
davy.ai
Para eliminar una publicación específica, utiliza la función
deletePost
con el parámetroid
establecido como el ID de la publicación que deseas eliminar, y el parámetroposter
establecido como el nombre de usuario de la persona que creó la publicación. Esta función envía una solicitud DELETE al punto de conexión de la API especificado en la variableendpoint
, con el ID incluido en la URL y el nombre de usuario incluido en el cuerpo de la solicitud como un objeto JSON. Si la solicitud es exitosa, la función devuelve la publicación eliminada como un objetoPost
.Ejemplo de uso: