使用 RESTful API 调用来注册用户
Using RESTful API Calls to register a user
当我想在我的服务器上注册用户时,我使用我创建的 RESTful API 来完成这项工作。因此,例如,我会向 http://server.com/users
发出 POST
请求
这个API调用会生成一个新的用户id,如果用户当前不存在把他保存到数据库然后returns新创建的用户id到应用程序,所以该应用程序知道从现在开始使用的用户 ID。
同时,我想将用户的设备也注册到我的网络服务,因为我将发送推送通知。现在这在如何做方面并不困难,但我现在想了一会儿,它如何有效?这些是我的想法:
- 使用 RESTful APIs 对我来说意味着,我使用一种清晰的方式将任务分离到不同的控制器。所以我会有一个
APIUserController
和一个 APIDeviceController
。因此,如果我想注册一个用户,它将是 POST
请求 http://server.com/users
,而要注册一个设备,它应该是 POST
对 http://server.com/devices
的请求。因此,对 users
的调用会 return 创建 userID
然后我会向 devices
发出 POST
请求 userID
我得到 return由我的第一个电话编辑。这意味着,从应用程序到服务器的两次不同调用。
- 但是当我考虑效率时,我的第一个想法是只向
http://server.com/users
发出一个 POST
请求,其中包含所有需要的数据(如设备令牌)并在服务器以及创建设备。但这意味着,我会直接在数据库中创建条目,并在用户控制器中混合职责。
在这方面我确实需要一些帮助。在创建新用户和注册新设备时区分职责的目的是什么,当我通过调用服务器两次使用 restful 方法而失去效率时?
我认为可以说设备 属于 用户,所以我认为在将新用户添加为可选组件时包含设备信息没有任何危害。有点像用户想要选择性地包含他们的 "bio"。您可能不会为 "bios" 设置单独的端点。
此外,由于您在用户和设备之间存在直接关系,因此与其使用单独的 /devices
端点使其成为 /users
的子目录,或许更合乎逻辑。类似于 /users/12345/devices
.
当我想在我的服务器上注册用户时,我使用我创建的 RESTful API 来完成这项工作。因此,例如,我会向 http://server.com/users
POST
请求
这个API调用会生成一个新的用户id,如果用户当前不存在把他保存到数据库然后returns新创建的用户id到应用程序,所以该应用程序知道从现在开始使用的用户 ID。
同时,我想将用户的设备也注册到我的网络服务,因为我将发送推送通知。现在这在如何做方面并不困难,但我现在想了一会儿,它如何有效?这些是我的想法:
- 使用 RESTful APIs 对我来说意味着,我使用一种清晰的方式将任务分离到不同的控制器。所以我会有一个
APIUserController
和一个APIDeviceController
。因此,如果我想注册一个用户,它将是POST
请求http://server.com/users
,而要注册一个设备,它应该是POST
对http://server.com/devices
的请求。因此,对users
的调用会 return 创建userID
然后我会向devices
发出POST
请求userID
我得到 return由我的第一个电话编辑。这意味着,从应用程序到服务器的两次不同调用。 - 但是当我考虑效率时,我的第一个想法是只向
http://server.com/users
发出一个POST
请求,其中包含所有需要的数据(如设备令牌)并在服务器以及创建设备。但这意味着,我会直接在数据库中创建条目,并在用户控制器中混合职责。
在这方面我确实需要一些帮助。在创建新用户和注册新设备时区分职责的目的是什么,当我通过调用服务器两次使用 restful 方法而失去效率时?
我认为可以说设备 属于 用户,所以我认为在将新用户添加为可选组件时包含设备信息没有任何危害。有点像用户想要选择性地包含他们的 "bio"。您可能不会为 "bios" 设置单独的端点。
此外,由于您在用户和设备之间存在直接关系,因此与其使用单独的 /devices
端点使其成为 /users
的子目录,或许更合乎逻辑。类似于 /users/12345/devices
.