Когда я хочу зарегистрировать пользователя на своем сервере, я использую мой RESTful API, который я создал, чтобы выполнить эту работу. Так, например, я бы сделал POST
запросить http://server.com/users
Этот вызов API сгенерирует новый идентификатор пользователя, если пользователь в данный момент не существует, и сохранит его в базе данных, а затем вернет вновь созданный идентификатор пользователя в приложение, чтобы приложение знало об используемом идентификаторе пользователя, который используется с этого момента.
В то же время я хочу зарегистрировать устройство пользователя и в своем веб-сервисе, так как я буду отправлять Push-уведомления. Сейчас это не сложно с точки зрения того, как это сделать, но я подумаю некоторое время, как это эффективно? Это мои мысли:
APIUserController
и APIDeviceController
, Поэтому, если я хочу зарегистрировать пользователя, это будет POST
запрос http://server.com/users
и для регистрации устройства это должно быть POST
запросить http://server.com/devices
, Так что призыв к users
вернет созданное userID
и я бы тогда сделал POST
запросить devices
с userID
Мне вернули мой первый звонок. Это означает два разных вызова из приложения на сервер.POST
запросить http://server.com/users
содержит все необходимые данные (например, токен устройства) и создает пользователя на сервере, а также создает устройство. Но это означает, что я бы непосредственно создал запись в базе данных и смешал обязанности в контроллере пользователей. Здесь мне определенно нужна помощь. Какова цель разграничения обязанностей при создании нового пользователя и регистрации нового устройства, когда я теряю эффективность, дважды вызывая сервер, чтобы использовать спокойный подход?
Я думаю, что, возможно, устройства принадлежать для пользователей, поэтому я не вижу никакого вреда, включая информацию об устройстве, когда вы добавляете нового пользователя в качестве дополнительного компонента. Вроде как, если пользователь хочет по желанию включить свою «био». Вероятно, у вас не будет отдельной конечной точки для «BIOS».
Кроме того, поскольку у вас есть прямые отношения между пользователями и устройствами, возможно, это может быть более логичным, чем использование отдельного /devices
конечная точка, чтобы сделать его подкаталогом /users
, Что-то вроде /users/12345/devices
,
Других решений пока нет …