2017-02-08 14 views
0

Я создаю REST API, и я хотел бы знать, каковы наилучшие методы URI. У меня есть «пользователи», у которых есть уникальное электронное письмо и идентификатор. Тогда я могу принести пользователю с помощью этого маршрута:API-интерфейс REST API URI - выборка по идентификатору или настраиваемым полем

GET /users/{id} 
GET /users/{email} 

Должен ли я выставить 2 Differents маршрутов для того, чтобы принести либо ID или по электронной почте?

Я посмотрел API Github и использовал идентификатор Field для некоторых из ресурсов ressources (/: owner /: repo) и идентификационный номер для других.

+0

Я бы сказал, что это скорее решение для использования - если вам нужна или нужна возможность получать пользователей на основе идентификатора, а также по электронной почте, тогда просто продолжайте и реализуйте оба. Это немного больше работы для вас, чтобы реализовать и поддерживать, но дает вам больше гибкости. – Chris

ответ

0

Что я обычно делаю с конечными точками API REST, я беру идентификатор записи и кодирую (хешу).

Большая библиотека в узле hashids:
https://www.npmjs.com/package/hashids

Например:
GET/пользователи/1

становится:
GET/пользователи/o2fXhV

Это все зависит от что бы вы хотели, чтобы ваши конечные точки были. Многие крупные компании используют разные соглашения об именах. Выберите то, что вам нравится.

+0

Привет, я просто хотел бы знать, есть ли хорошая практика, позволяющая пользователю извлекать один и тот же ресурс с использованием 2-х разных URI. Примеры: GET/users/123 - GET /users/[email protected] –