es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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
        }
    }

}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para eliminar una publicación específica, utiliza la función deletePost con el parámetro id establecido como el ID de la publicación que deseas eliminar, y el parámetro poster 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 variable endpoint, 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 objeto Post.

    Ejemplo de uso:

    // Eliminar una publicación con ID 123 creada por el usuario "john_doe"
    deletePost(id: 123, poster: "john_doe") { deletedPost in
        print("Publicación con ID \(deletedPost.id) eliminada")
    }
    

Comments are closed.