У меня подключен дб rest
сервис, и мне только удалось получить полную коллекцию от database
или единое целое ID
,
Я не могу найти правильное руководство, чтобы объяснить, как использовать GET
параметры URL для фильтрации по другим полям, и как мне выбрать, например, «LIKE» или LIKE %% «или другие операторы по этому вопросу.
Это мой опыт работы с CodeConnected Services. YMMV ..
Получение параметров URL — класс Controller / Resource.
Ваш контроллер должен получить их из $this->getEvent()
/**
* Fetch a single Entity by ID, with some Query Params
*/
public function fetch($entity_id)
{
// retrieve the query parameters\
$queryParams = $this->getEvent()->getQueryParams();
}
Во-вторых, только параметры, одобренные в вашем module.config.php, пройдут через часть валидатора / фильтра Apigility. Белый список запросов коллекции уведомлений
module.config.php
внутри папки модуля вашего сервиса
'ServiceName\\V1\\Rest\\ServiceName\\Controller' => array(
...
'entity_http_methods' => array(
0 => 'GET',
1 => 'PATCH',
2 => 'PUT',
3 => 'DELETE',
),
'collection_http_methods' => array(
0 => 'GET',
1 => 'POST',
),
'collection_query_whitelist' => array(
0 => 'username',
1 => 'entity_provider',
2 => 'entity_type',
3 => 'entity_date_range',
4 => 'sort_by',
5 => 'sort_order'
),
...
Других решений пока нет …