Использование RESTful API Calls для регистрации пользователя

Когда я хочу зарегистрировать пользователя на своем сервере, я использую мой RESTful API, который я создал, чтобы выполнить эту работу. Так, например, я бы сделал POST запросить http://server.com/users

Этот вызов API сгенерирует новый идентификатор пользователя, если пользователь в данный момент не существует, и сохранит его в базе данных, а затем вернет вновь созданный идентификатор пользователя в приложение, чтобы приложение знало об используемом идентификаторе пользователя, который используется с этого момента.

В то же время я хочу зарегистрировать устройство пользователя и в своем веб-сервисе, так как я буду отправлять Push-уведомления. Сейчас это не сложно с точки зрения того, как это сделать, но я подумаю некоторое время, как это эффективно? Это мои мысли:

  • Использование API RESTful означает для меня, что я использую четкий способ разделения задач между различными контроллерами. Так что я бы APIUserController и APIDeviceController, Поэтому, если я хочу зарегистрировать пользователя, это будет POST запрос http://server.com/usersи для регистрации устройства это должно быть POST запросить http://server.com/devices, Так что призыв к users вернет созданное userID и я бы тогда сделал POST запросить devices с userID Мне вернули мой первый звонок. Это означает два разных вызова из приложения на сервер.
  • Но когда я думаю об эффективности, моей первой мыслью было бы сделать только один POST запросить http://server.com/users содержит все необходимые данные (например, токен устройства) и создает пользователя на сервере, а также создает устройство. Но это означает, что я бы непосредственно создал запись в базе данных и смешал обязанности в контроллере пользователей.

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

3

Решение

Я думаю, что, возможно, устройства принадлежать для пользователей, поэтому я не вижу никакого вреда, включая информацию об устройстве, когда вы добавляете нового пользователя в качестве дополнительного компонента. Вроде как, если пользователь хочет по желанию включить свою «био». Вероятно, у вас не будет отдельной конечной точки для «BIOS».

Кроме того, поскольку у вас есть прямые отношения между пользователями и устройствами, возможно, это может быть более логичным, чем использование отдельного /devices конечная точка, чтобы сделать его подкаталогом /users, Что-то вроде /users/12345/devices,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]