Используя gin-goni c, я хотел бы определить, когда целочисленное значение опускается во входящем запросе JSON, даже если ноль является возможным значением. Другими словами, ноль - допустимое значение, но мы не можем принять значение по умолчанию. Создание структуры с указателями кажется противоположным, потому что не существует действительного объекта с отсутствующим значением. Во время процесса маршалинга я хотел бы знать, не заполнены ли какие-либо поля.
Я использую OpenAPI для определения интерфейса с «обязательными» полями, и я хочу, чтобы ответы об ошибках соответствовали определению API. Я использую генератор кода для создания заполняемых веб-моделей. Я бы хотел избежать маршалинга JSON в карту, проверки карты и последующего заполнения модели.
Например:
type mouth struct {
teeth int
fillings int
}
func ProcessTi0(c *gin.Context) {
var b mouth
err = c.Bind(&b)
if err != nil {
c.JSON(400, gin.H{
"err": err,
})
}
....
}
В настоящее время запрос {}
допустимо.
Поведение привязки по умолчанию - молча записывать ноль в поле, если он не указан, но я бы хотел сгенерировать ошибку.