我是使用 EF4 的 MVC WebAPI 的新手。我想知道是否最好将具有多个 GET 和/或 PUT 方法的大型控制器拆分为多个控制器,以避免“找到与请求匹配的多个操作”错误。我更喜欢只使用基于 VERB 的路由模式“api/controller/id”,如下所示。
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
"Api",
"api/{controller}/{id}",
new { id = RouteParameter.Optional }
);
例如,我有两个域对象,Doctor 和 Patient。ClinicController 具有以下操作:
getDoctors()
getPatientCohort(int doctorId)
getPatientPrimaryDr(int patientId)
getPatientDoctors(int patientId, int clinicId)
getPatients()
getPatient(int patientId)
putDoctor(Doctor doctor)
putPatient(Patient patient)
createDoctor(Doctor doctor)
createPatient(Patient patient)
我是否应该将此控制器拆分为 DoctorController 和 PatientController,以便每个控制器只处理一个域对象。既然 Patient Cohort 是一个关联类,那么 getPatientCohort(int doctorId) 应该是 PatientController 还是 DoctorController 的方法?谢谢。