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