Preview:
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"})
}
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