func handlePayload(c *gin.Context) { var payload interface{} if err := c.ShouldBindJSON(&payload); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } // Melakukan pengecekan tipe data secara dinamis switch p := payload.(type) { case map[string]interface{}: // Tipe data berupa map[string]interface{} // Lakukan sesuatu dengan payload berupa map fmt.Println("Received payload as map:", p) case []interface{}: // Tipe data berupa []interface{} // Lakukan sesuatu dengan payload berupa slice fmt.Println("Received payload as slice:", p) default: // Tipe data lainnya // Lakukan sesuatu dengan payload sesuai kebutuhan fmt.Println("Received payload with unknown type") } c.JSON(http.StatusOK, gin.H{"message": "Payload received successfully"}) }