OpenRasta - Предоставление фильтра, сортировки и разбиения на страницы для ресурсов списка - PullRequest
2 голосов
/ 29 декабря 2011

Мы создаем REST API с использованием OpenRasta и, кроме обычных GET, POST, PUT и DELETE для всех ресурсов, мы также предоставляем GET для ресурсов с множественными именами.Таким образом, потребитель API может GET, POST, PUT и DELETE на User, а также выполнить GET на Users, который вернет List<Users>.Теперь мы хотим, чтобы клиенты могли фильтровать и сортировать его по его свойствам и разрешать поддержку подкачки для отображения данных в табличных форматах с постраничной подкачкой.

Хотя я посмотрел на WCF Data Services Toolkit домашняя страница и выглядит так, как будто она может быть полезна, но после просмотра постов в блоге и страницы «Начало работы» я не мог понять, как использовать ее для решения своей проблемы в OpenRasta.

Или есть что-то более простое, чемЯ могу сделать?

1 Ответ

2 голосов
/ 24 января 2012

ИЛИ не поддерживает такие вещи, как OData для этой функциональности, главным образом потому, что это приводит к очень нестабильным системам.

Если / users - это «список пользователей», то это другой ресурс, чем / users / 1 (первая страница пользователей) или / users / byName / 1 (первая страница пользователей, упорядоченных по имени).

Конечно, вы можете легко реализовать все это, зарегистрировав URI, у которого есть параметры запроса, так как они не являются обязательными

.AtUri("/users?page={page}&filter={filter}

А ваш обработчик может выглядеть как

public List<User> Get(int page = 0, string filter = null) { ... }
...