2013-05-06 5 views
-1

SQL Server 테이블에서 대량 데이터를 읽는 데 사용되는 API 또는 API 집합을 디자인해야하며 날짜 및 기타 매개 변수별로 데이터를 가져와야합니다. 이제는 N 아니오의 목록을 갖고 싶지 않습니다. 목록의 API가 무한하기 때문에 사용자 요구에 따라 계속 증가 할 것입니다.일괄 읽기 용 REST 웹 API 디자인

그럼 어떻게 설계해야합니까?

답변

1

WCF 데이터 서비스 및 OData를 사용하여 메서드에서 'SQL over the wire'요청을 수락 할 수 있습니다. 이렇게하면 필터 기준을 허용 할 수있는 단일 URL이 제공됩니다. 절

http://localhost/Products?$filter=Category eq 'Toys' 

// 컬럼

의 하위 집합을 선택 WHERE Products 테이블 (서버 측 페이징을 사용 가능!)에서

// 모든 데이터

http://localhost/Products 

// a를

http://localhost/Products?$select=ToyName,ToyPrice 

또한 ASP.NET 웹 API 프로젝트 유형을 사용하고 OData 지원을 활성화 할 수 있지만 URL 기능은 slig입니다 htly 더 제한됩니다.

데이터 직렬화에 수반되는 오버 헤드와 패킷이 HTTP를 통해 분할되어야하는 방식 때문에 대량 데이터 작업에 웹 서비스를 사용하는 것이 드문 일이라고 생각합니다. 그것은 어떻게 부피가 큰지 귀하의 데이터에 따라 다릅니다.

+0

감사합니다. 그게 내 질문이야. 한 번에 300,000 개의 행을 가져올 수있는 1 개의 webapi가 있지만 다른 매개 변수별로 필터링하여 레코드를 가져 오는 메서드를 별도로 갖고 싶지 않습니다. api가 서로 다른 필터를 갖도록 설계하고 하나는 얻을 수있는 방법을 제안하십시오. – user2318300