#java #regex
Вопрос:
У меня есть следующая полезная нагрузка, которую необходимо обработать
{ "sqlQuery": "select * from students where originCountry = :originCountry and age gt; :age", "queryParameters": [ { ... "name": "originCountry", ... }, { ... "name": "age", ... } ] }
Полезная нагрузка позволяет пользователю определять SQL-запрос и его параметры в качестве заполнителей с обозначением :Имя параметра.
Мне нужно убедиться, что заполнители, определенные в поле «SqlQuery», совпадают по количеству и именам с атрибутами параметров, определенными в «Параметрах запросов».
Интересно, каков наилучший подход для этого? Я бы выбрал некоторую реализацию с использованием шаблона и сопоставления, которые, как я думаю, дадут мне список заполнителей, а затем будут искать их в параметрах запроса. Хотя не уверен, что это лучший подход.
Комментарии:
1. «лучший» по какому показателю? Одним из важных показателей является «понимаете ли вы, что происходит, и можете ли вы принять это в будущем и исправить ошибки, если они появятся»? По этой метрике все, что вы можете написать, вероятно, лучше всего.