Привет и счастливого января!
Просматривая недавно созданный очень простой RESTful API, мне интересно, сделал ли я подпись RESTful API для его POST.
Этот RESTful API запрашивает очень простую коллекцию MongoDB Apps
, и ее столбцы:
_id
, (appId
)
siteId
(обязательно)
accountId
(обязательно)
provider
(обязательно)
description
Индекс:
provider
, siteId
, accountId
: unique
Структура данных:
- Каждый сайт (
siteId
) имеет несколько учетных записей (accountId
).
- Каждая учетная запись (
accountId
) имеет несколько приложений (appId
).
Пути для HTTP-глаголов GET
DELETE
и PATCH
, обрабатывающих элементы в коллекции Apps
:
GET /api/v1/sites/:siteId/accounts/:accountId/apps
DELETE /api/v1/sites/:siteId/accounts/:accountId/apps
PATCH /api/v1/sites/:siteId/accounts/:accountId/apps
Мое затруднение заключается в следующем: я хочу POST
новое приложение, которое будет связано с siteId
+ accountId
.
Мне интересно, имеет ли смысл то, как я определил этот путь POST
, потому что новое приложение может добавлять в эту коллекцию либо siteId
, либо accountId
в первый раз.
Это то, что я реализовал для HTTP Verb POST
:
POST /api/v1/sites/:siteId/accounts/:accountId/apps
params: {
siteId: string,
accountId: string,
},
body: {
provider: '[** Provider **]',
description: '[** Description **]',
siteId: '[** Site ID **]',
accountId: '[** Account ID **]'
},
response: new `appId`
Или это должно быть (к чему я начинаю склоняться):
POST /api/v1/apps
body: {
provider: '[** Provider **]',
description: '[** Description **]',
siteId: '[** Site ID **]',
accountId: '[** Account ID **]'
},
response: new `appId`
Рекомендации действительно приветствуются!