Доброго вечера!
Есть веб-сервис, который на один из адресов принимает пост-запросы, которые предназначены для фильтрации данных.
Параметры фильтрации приходят в виде json.
сейчас работает как:
type ItemsFilters struct {
ItemIds []int `json:"item_ids"`
ParamA bool `json:"param_a"`
ParamB bool `json:"param_b"`
ParamC bool `json:"param_c"`
}
var filters ItemsFilters
context.bindJSON(&filters)
Фронт, разумеется, может использовать один сервис в куче разных мест и никто полный набор параметров присылать не будет, надо фильтровать по тому, что пришло и игнорировать все остальное.
Печаль в том, что если прислать только массив item_ids, то 3 остальных параметра == false и совершенно непонятно, как узнать, на самом деле они пришли false или это значение по-умолчанию.
Да, можно прислать еще массив filters, в котором перечислить активные фильтры и опираться на него, но это даже в мыслях выглядит полным отстоем..
Заранее спасибо :-)