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"}) }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter