2013-07-17 1 views
5

제목 : 왜 RESTful에 대한 집계 기능이 좋지 않은가요? CRUD가 RESTful에 유익하다는 것을 알지만.왜 집계 함수가 RESTful에 나쁜 생각입니까?

예를 들어, 자원이 '직원'이며, 클라이언트는 모든 직원의 '급여'총 합계를 가져 오지해야합니다. RESTful 서비스가 그러한 합계 기능을 제공해서는 안됩니까?

추가 질문 : 집계 함수가 RESTful에 나쁜 경우 클라이언트가 총 급여의 합계를 어떻게 얻을 수 있습니까? 모든 '직원'을 검색하여 합산하면됩니까?

+0

더 이상 지낼 필요가 없습니다. 이걸로? – benjiman

답변

7

REST의 리소스가 조작으로 간주되어 연산 (즉, 집계 함수)이 노출 될 수 있다고 생각하지 않습니다. RESTful Webservices Cookbook에서

(오라일리) : REST의 건축 제약의 가장 일반적인 인식의

하나는 단지 응용 프로그램 도메인에서 "일"또는 "실체"가있는 자원에 적용 이다 . 이 경우가 많지만 처리 기능이 포함 된 시나리오 은 이러한 인식에 도전합니다.

프로세싱 기능을 리소스로 처리하고 HTTP GET을 사용하여 처리 기능의 출력을 포함하는 표현을 가져 오는 것이 일반적입니다. 조회 매개 변수를 사용하여 처리 기능에 입력을 제공 할 수도 있습니다.

GET /employees/aggregation?data=salary 

이상의 일반 :

GET /aggregator?resource=employee&data=salary 

당신은도를 필터링 할 수

왜 이런 즉 자원으로 직원 수의 급여 집계 결과를 제공하지 급여를 집계해야하는 직원 그룹 :

GET /employees/aggregation?data=salary&divison=sales 
관련 문제