1
.NET 4.5를 사용하는 OData 웹 API 서비스가 있습니다.OData 쿼리 결과에서 다음 링크를 수정하는 방법
: 당신이 볼 수 있듯이, 나는 100 개 이상의 개체가있는 경우 (100)에 서버 측 페이지 크기를 설정public class WorkItemsController : EntitySetController<WorkItem, string>
{
[Queryable(PageSize=100)]
public override IQueryable<WorkItem> Get()
{
// go to AWS DynamoDb, get the workitems and then return
}
}
가 반환 같은 링크를 포함합니다 : 그것은 EntitySetController에서 파생 된 WebApi 컨트롤러가
<link rel="next" href="http://***/api/v1/WorkItems?$skip=100" />
Microsoft SQL에서는 정상적으로 작동합니다. 하지만 DynamoDb를 사용하고 있습니다. "skip = 100"은 DynamoDb LastEvaluatedKey로 변환 할 수 없습니다. 그래서 여기에 다음 링크를 수정하여 LastEvaluatedKey를 반환합니다.
<link rel="next" href="http://***/api/v1/WorkItems?$skip=A12BSD123" />
기본적으로 링크를 사용자 정의 할 수있는 기능이 필요합니다. 따라서 사용자가 다음 세트를 가져 오려면이 링크를 사용해야하고 LastEvaluatedKey를 얻을 수 있습니다.
하이 펭, 감사합니다. 하지만 요청에서 ODataProperties()를 찾지 못했습니다. OData 5.6을 사용하고 있습니다. – maomao
네임 스페이스가 "System.Web.Http.OData.Extensions"인 확장 방법입니다. –