Tengo un problema sobre cómo obtener una solicitud de publicación en Go.
Lo estaba intentando json.Unmarshal()
pero todavía no funciona
package controllers
import (
"encoding/json"
"net/http"
"github.com/gin-gonic/gin"
)
//CreateOrder function
func CreateOrder(c *gin.Context) {
var requestBody struct {
TransNo string `json:"trans_no"`
}
err := json.NewDecoder(c.Request.Body).Decode(&requestBody)
if err != nil {
panic(err)
}
c.JSON(http.StatusOK, gin.H{"data": requestBody.TransNo})
}
No tengo ningún error, pero el resultado no muestra nada.
esta es mi publicación de datos:
{
"transaction_details": {
"trans_no": "12400099",
"gross_amount": 50000
}
}
Quiero sacar trans_no
valor
Su requestBody
estructura se desarmaría correctamente si los datos de su publicación fueran:
{
"trans_no": "12400099",
"gross_amount": 50000
}
pero como esa información está anidada más profundamente, debe incluir esa anidación en su modelo.
var requestBody struct {
TransactionDetails struct {
TransNo string `json:"trans_no"`
} `json:"transaction_details"`
}
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras