У меня есть служба REST/accounts, которая возвращает все данные учетных записей (номер, имя).
Требование: Должен поддерживать приведенный ниже шаблон поиска/фильтрации с любой комбинацией "И" или "ИЛИ", а не повторно запускать всю коллекцию.
- начинается с
- заканчивается с
- Содержит
Вопрос 1. Являются ли приведенные ниже API правильными (RESTful) или есть лучший способ сделать то же самое, например:
/accounts?name^My Account 123**or**number~ACC1234
(^"==> Начинается с , "~"==> заканчивается на)
/accounts?name^My Account 123**and**number~ACC1234
(^"==> Начинается с "~"==> заканчивается на)
/accounts?name$ACC123
(коллекция учетных записей $ ==> содержит ACC123)
Контроллер Spring:
Планируется получить этот шаблон фильтра (параметр запроса) как @RequestParam
и иметь регулярное выражение для анализа шаблона, а затем применить и извлечь его из хранилища данных. Недостатком является то, что любой новый шаблон фильтра потребует изменения в классе контроллера.
Вопрос 2. Существуют ли какие-либо стандартные функции, доступные в Spring 3 для поиска/фильтрации в коллекции?
Спасибо!