Фон
Я создаю пользовательскую конечную точку REST в SugarCRM, которая объединяет два модуля и возвращает результат.Мне нужно разрешить пользователю передавать необязательные данные в виде параметров запроса.В настоящее время конечная точка выглядит следующим образом:
http://base-url.com/api/customer/{customer_id}/branch/{branch_id}/offset/{offset}
Однако для этого необходимо передать значение для смещения.Вместо этого я хотел бы, чтобы конечная точка выглядела как
http://base-url.com/api/customer/{customer_id}/branch/{branch_id}?offset={offset}
. Я проверил документацию разработчика SugarCRM, а также проверил онлайн, но не могу найти каких-либо конкретных примеров использования параметров запроса.
Мой код
Ниже мой код.Этот пример кода соответствует первой конечной точке, указанной выше.Моя цель - изменить параметр смещения, чтобы он представлял собой строку запроса вместо переменной пути
<?php
if( !defined('sugarEntry') || !sugarEntry )
die('Not A Valid Entry Point');
class LinkLeadsApi extends SugarApi
{
public function registerApiRest()
{
return array(
'LinkLeadsEndpoint' => array(
'reqType' => 'GET',
'noLoginRequired' => false,
'path' => array('customer', '?', 'branch', '?', 'offset', '?'),
'pathVars' => array('customer', 'customer_id', 'branch', 'branch_id', 'offset', 'offset_num'),
'method' => 'GetLinkLeads',
'shortHelp' => 'Retrieve Leads for Latham Link',
'longHelp' => 'Retrieve Leads for Latham Link'
)
);
}
public function GetLinkLeads($api, $args)
{
$seed = BeanFactory::newBean('w002_ConsumerLeads');
$q = new SugarQuery();
$q->from($seed);
$q->limit($args['offset_num']);
return $q->execute();
}
}
?>