package dto type BaseDto struct { PageNum *int64 `json:"pageNum" form:"pageNum" validate:"required,gt=0"` // Номер страницы PageSize *int64 `json:"pageSize" form:"pageSize" validate:"required,gt=0"` // Размер страницы StartTime *int64 `json:"startTime" form:"startTime" validate:"omitempty,gt=0"` // Время начала EndTime *int64 `json:"endTime" form:"endTime" validate:"omitempty,gt=0"` // Время окончания } // Normalize: нулевая отметка времени — это отсутствие фильтра. // // Правило `omitempty,gt=0` на указателе не пропускается (см. normalize.go), // поэтому пришедший `startTime=0` отказывал бы вместо того, чтобы означать // «без ограничения снизу». func (d *BaseDto) Normalize() { zeroToNil(&d.StartTime) zeroToNil(&d.EndTime) } type IdDto struct { Id *int64 `json:"id" form:"id" validate:"required,gt=0"` // Первичный ключ }