我有关于建立CRUD服务的问题,我应该能够创建,更新,删除并从数据库中获取记录。
为了便于理解。我将使用我应该编写服务的公司示例来执行CRUD。我应该添加员工,更新员工,删除员工,获取为公司工作的员工列表。
以下对象将用作创建/更新/删除的请求有效内容,而EmployeeDomainObject的列表将用作获取请求的响应< / p>
EmployeeDomainObject
{
"firstName": "string",
"lastName": "string",
"id": "string",
"status": "ACTIVE" or "DELETE" or null
}
服务的范围和要求: 1.健壮 2.可维护性 3.哪个更受服务驱动? 4.可扩展/可扩展
答案赞赏
答案 0 :(得分:0)
这实际上取决于您计划如何实施该服务。如果您要使用已建立的框架(如Spring),那么您很可能会使用4端点方法而没有status
字段,因为HTTP动词会隐含状态(GET / POST / PUT / DELETE)。
你拥有的是RPC(远程过程调用)。 status
字段是要调用的“方法”。在纯REST使用HTTP谓词的地方,RPC会使用这种类型的方法调用。因此,如果您计划在不使用框架的情况下从头开始构建服务,那么您可以使用一个端点。当您可以添加另一个status
字段时,我没有看到只有2个端点的意义:
EmployeeDomainObject
{
"firstName": "string",
"lastName": "string",
"id": "string",
"status": "ACTIVE" or "DELETE" or "RETRIEVE" or null
}
并使用POST。它不是REST,但你不会问它是否是好的REST。
使用上述内容并没有“错误”,特别是如果您要从头开始构建服务(可能是资源受限等)。
端点只是客户端与服务交互的方式。这些交互是通过4个REST样式的端点还是1个RPC样式的POST来实现,这是无关紧要的。客户只是做它需要做的事情。
后果是服务器。像Spring这样的已建立的REST框架将为您提供一个良好的开端,但将您与4个端点联系起来。如果您可以根据需要自由设计服务器端,那么RPC风格的方法没有任何问题。您仍然可以记录/审核/处理服务的权限,但您可能需要自己编写代码。
如果您计划构建一些大型项目并聘请大量程序员,那么您可能希望顺应流程并使用4个REST样式的端点和已建立的框架,以便从更广泛的人才中招聘游泳池,而不是在您的定制设计系统上招聘和培训。