Критерии динамической фильтрации для пост-запроса - PullRequest
0 голосов
/ 22 июня 2019

Мне нужны критерии динамической фильтрации для запросов к западным веб-сервисам с использованием post.

, чтобы привести пример.

{
  "fields": [
             "field":"firstName",
             "field":"lastName"
            ]
,
  "filters": 
           [
              filter{"field":"firstName",
                     "operation":"EQ",
                     "value":"FIRSTNAME"
                    },
              filter{"field":"LastName",
                     "operation":"LIKE",
                     "value":["FIRSTNAME"]
                    },
              filter{"field":"address",
                     "operation":"IN",
                     "value":["1","2","3","4"]
                    },
           ]
}

обратите внимание на операцию "EQ", она имеет одну строку, для остальных фильтров вам нужен список

в зависимости от операции, я хочу, чтобы значение было либо в виде списка, либо в виде одной строки, как это построить динамически в Java, возможно ли это.

Ответы [ 2 ]

1 голос
/ 22 июня 2019

Да, это возможно, но не делайте этого, никогда ( пример решения ).

Вместо этого, разработайте свой ввод ясно, чтобы пользователь знал, что естьесть возможность поставить несколько значений там.Возможно, назовите поле values или valueList?

Не создавайте настраиваемые адаптеры, заводские реестры или нестандартные десериализаторы, просто перепроектируйте.Также не идите в обратном направлении - это будет принимать список даже с параметром EQ, где вам нужен только один элемент, просто для упрощения модели.Код проще, но конечный пользователь в замешательстве.

0 голосов
/ 02 июля 2019

Получил, что мое собственное решение имело абстрактный класс в качестве фильтра, затем добавил два класса фильтров для списка, а не списка отдельно, прекрасно работает

...