웹 API v2를 사용하고 있으며 CRUD 작업을 수행하는 데 필요한 몇 가지 모델이 있습니다. 예를 들어 Allergy
모델과 Prescription
모델이 있습니다. 애플리케이션 자체에서 적절한 모델로 바뀔 수있는 뷰 모델을 가지고 있지만 간단하게하기 위해 웹 API 컨트롤러에서 모델을 바로 사용한다고 가정 해 보겠습니다.일반 웹 API 컨트롤러
그래서 이런 식으로 뭔가 :
public class PrescriptionsController
{
public HttpResponseMessage Put(Prescription model)
{
// saved to the DB
}
... (other CRUD operations)
}
나는 또한 가지고있는 Allergy
모델 같은 :
public class AllergiesController
{
public HttpResponseMessage Put(Allergy model)
{
// saved to the DB
}
... (other CRUD operations)
}
두 모델은 서로 다른 특성을 가지고 있지만 정확히 같은 방식으로 처리됩니다 - 내가 가지고있는 사실을 각 CRUD 작업에 대해 정확히 같은 방식으로 처리되는 약 3 개의 다른 모델. 기본적으로 복사되고 붙여 넣어 진 코드 인 5 개의 다른 종점이 있습니다.
내가 일반적인 컨트롤러는 이러한 모델을 모두 처리 할 수 있도록 수 :
그래서 제 질문은 이것이다? MyCommonController<T>
과 같은 것? (물론 더 나은 이름을!) 웹 API는 그 시나리오에서 라우팅을 처리 할 수 있습니까? 그것도 좋은 생각입니까?
다른 방법으로 이것을 구현할 수 있다고 생각합니다. 라우팅으로. 나는 시도하지 않았지만 보게 될 것이다. – Guanxi
가능합니다. 여기에 대한 토론이 있습니다. http://stackoverflow.com/questions/12077361/generic-webapi-controller – Trisk