Используя структуру gin, я пытаюсь определить, не соответствуют ли данные POST типу поля структуры, и сообщить пользователю API об их ошибке.
type CreateApp struct {
LearnMoreImage string `db:"learn_more_image" json:"learn_more_image,omitempty" valid:"string,omitempty"`
ApiVersion int64 `db:"api_version" json:"api_version" valid:"int,omitempty"`
}
...
func CreateApps(c *gin.Context) {
var json models.CreateApp
c.Bind(&json)
Итак, когда я отправляю сообщение
curl -H "Content-Type: application/json" -d '{"learn_more_image":"someimage.jpg","api_version":"somestring"}' "http://127.0.0.1:8080/v1.0/apps"
Я хотел бы определить, соответствуют ли данные POST для поля api_version (переданное как строка) полю структуры, к которому оно привязано (int). Если данные не совпадают, я хотел бы отправить сообщение пользователю. По этой причине я надеялся, что смогу просмотреть данные контекстов джина и проверить их.
Функция gin 'c.Bind ()', похоже, опускает недопустимые данные и все последующие поля данных с ними.