首页 > 解决方案 > 服务和方法的区别?

问题描述

我知道服务是一个自包含的功能,现在如果有人按照其余原则创建服务,那么它可以称为休息服务。现在我的问题是,如果我创建一个带有控制器和 getEmployee()、getEmployeeAddress(int id) 等多个操作的 Asp.Net Web API 项目。然后客户端将使用 URL 使用它,例如http://www.aaa.com/employee,那么我可以说 Action 方法 getEmployee 是一项服务,而 getEmployeeAddress 与 URL http://www.aaa.com一起使用/employee/1是另一项服务。还是我应该说我提供具有多种功能的单一员工管理服务???

标签: asp.net-web-api

解决方案


具有多个操作方法的单个 Web 服务EmployeeService,配置了不同的 url。可以基于模块创建服务,因为getEmployeegetEmployeeAddress与员工相关,它们可以作为操作方法添加到EmployeeService. 此外,我不确定将员工地址作为不同端点而不是对象内的列表对象的计划Employee。不过,您可以GET在服务中执行多个操作。

  1. 阅读所有员工

网址:/employee

手术:GET

  1. 阅读单个员工

网址:/employee/{id}

手术:GET

  1. 读取员工地址

网址:/employee/{id}/address

手术:GET

对于多个 GET 操作(显然使用不同的方法名称而不是默认方法名称,例如1. GET),请确保在操作方法的[Route("url")]or[HttpGet("url")]属性中分配了不同的 url。

附加点,通过url中的查询字符串传递与操作不直接相关的附加信息,例如在结果集中使用分页或排序,例如/employee?page=1


推荐阅读