【发布时间】:2021-11-26 11:40:35
【问题描述】:
我有问题。这个问题是关于 Go Gin 框架中的验证绑定。
如果我使用以下请求请求端点,它会通过验证,但我的期望是显示错误。我尝试在[]PatokInputReposisi 中使用指针到*[]PatokInputReposisi,但它不起作用。
我的请求(JSON):
{
"date": "2020-01-29T14:47:43.511Z",
"pitwd": "PIT",
"area": "RTN",
"sector": "JL. ILJIN",
"position": "ES",
"patoks": [
{
"northing": -1.00
}
]
}
类型结构定义:
type InputReposisiMonitoringRequest struct {
Date time.Time `json:"date" binding:"required"`
PitWD string `json:"pitwd" binding:"required"`
Area string `json:"area" binding:"required"`
Sector string `json:"sector" binding:"required"`
Position string `json:"position" binding:"required"`
Patoks []PatokInputReposisi `json:"patoks" binding:"required"`
}
type PatokInputReposisi struct {
Northing float64 `json:"northing" binding:"required"`
Easting float64 `json:"easting" binding:"required"`
Elevation float64 `json:"elevation" binding:"required"`
IsSkip bool `json:"is_skip" binding:"required"`
}
在处理程序中:
func (h *Handler) handleInputReposisiPatok(c *gin.Context) {
var request InputReposisiMonitoringRequest
if err := c.ShouldBindJSON(&request); err != nil {
c.JSON(http.StatusBadRequest, utils.ErrorResponse(err))
return
}
c.JSON(http.StatusOK, utils.Response("success"))
}
【问题讨论】:
标签: validation go go-gin