У нас есть API, в котором мы можем ПОЛУЧИТЬ пользователя двумя способами:
- Через его сгенерированный по умолчанию Rails
id
(уникальный, автоинкремент) - Через уникальное поле
employee_id
(идентификатор сотрудника во внешней системе, у нас нет связанного контроллера / модели / таблицы сотрудника)
Вот как он отображается в виде URI:
/users/:id
/users/employee_id/:employee_id
Оба отправляют вызов методу users#show
, который будет искать либо params[:id]
, либо params[:employee_id]
, а затем возвращать пользователя, если он существует.
Я не могу сказать почему, но второй URI кажется неправильным.
Какой стандартный или лучший способ доступа к ресурсу с разными уникальными идентификаторами?
Мы думаем сделать это, используя два вызова (сначала на index
, чтобы получить пользователей, соответствующих employee_id
, затем show
, чтобы получить информацию о пользователе из id
, который мы получили), но мне любопытны альтернативы.