JSON оценщик правил на основе Java - PullRequest
0 голосов
/ 11 февраля 2020

Я хочу разработать схему правил JSON и оценщик правил, где я могу определять и / или / или условия для отдельных условий для сравнения атрибутов. Например, приведенное ниже правило оценивает значение true, если customerType имеет значение PRIMARY, а языковой стандарт - en-US. Я планирую написать свой оценщик пользовательских правил в Java, который принимает правила JSON в качестве входных данных вместе с параметрами запроса и оценивает их как true или false на основе их соответствия или нет. Я сохраняю свою схему generi c и открыта для расширений. Например, если вы хотите поддерживать условие «ИЛИ» в будущем или если вы хотите поддерживать операторы типа «> =» в будущем, вы можете сделать это, расширив свой оценщик правил. Есть ли лучшие способы сделать это? Достаточно ли гибка моя схема?

"rule": {
            "type": "CompositeRule",
            "allOf": [ #In future, we can also support "anyOf" if required
              {
                "type": "SimpleRule",
                "attribute": "customerType",
                "operator": "==", #In future, we can also support other operators like ">=" or "<=" etc.
                "value": "PRIMARY" #Value can be a number, string or boolean
              },
              {
                "type": "SimpleRule",
                "attribute": "locale",
                "operator": "==",
                "value": "en-US"
              }
            ]
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...