Лучшее соглашение об именах для остальных ресурсов с ассоциацией - PullRequest
0 голосов
/ 07 января 2019

Ниже приведены остальные конечные точки, которые у меня есть. Я хочу, чтобы пользователь вызвал 1-ю конечную точку, и для последующих вызовов я хочу, чтобы идентификатор пользователя был в запросе. Каковы некоторые из лучших способов добиться этого?

1. POST www.test.com/v1/users (return userid)
2. POST www.test.com/v1/services
3. PUT  www.test.com/v1/services/{serviceId}
4. DELETE www.test.com/v1/services/{serviceId}
5. GET www.test.com/v1/services?search="search string for dynamic query"
6. PATCH www.test.com/v1/services/{serviceId}/{state}

Ответы [ 2 ]

0 голосов
/ 07 января 2019

У дальнейших вызовов может быть идентификатор пользователя (должен шифроваться?), Возвращаемый www.test.com/v1/users в заголовках запроса.

Если вам не нужно предоставлять userId пользователю, вы можете использовать любой кодировщик и сгенерировать хеш-значение (токен личного доступа, уникальный для этого сеанса входа в систему / идентификатора сеанса). Каждый раз, когда делаются последующие запросы, идентификатор сеанса можно проверять и переходить к дальнейшим действиям.

Кроме того, я чувствую, что последним должен быть ваш путь. Кроме того, попробуйте установить время сохранения сеанса на основе сгенерированного идентификатора сеанса.

0 голосов
/ 07 января 2019

Это зависит от вашего домена и того, что вы хотите выразить. Обычно учетные данные пользователя являются частью заголовка. Но если вы хотите сделать это явным, вы можете сделать его частью URL:

/v1/{userId}/services/

Обычно я использую совокупность против композиции , чтобы определить, является ли она вложенным ресурсом или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...