Реализация запроса group $ filter с использованием msgraph-sdk-java

Это то, что у меня есть до сих пор, но я не могу найти .filter (s), это сделано каким-то другим способом?

        IGroupCollectionRequest request = graphServiceClient.groups().buildRequest();
        IGroupCollectionPage page = request.get();
        IGroupCollectionRequestBuilder builder = page.getNextPage();
        while (builder != null) {
            request = builder.buildRequest();
            page = request.get();
            builder = page.getNextPage();
        }
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 482
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете включить $filter (или любой другой параметр запроса) в параметр requestOptions первого вызова buildRequest():

// Include any filters in the initial request's `requestOptions`
List<Option> requestOptions = new ArrayList<Option>();
requestOptions.add(new QueryOption("$filter", "startsWith(displayName,'Foo')"));

IGroupCollectionRequest request = graphServiceClient.groups().buildRequest(requestOptions);
IGroupCollectionPage page = request.get();
// Process first page
IGroupCollectionRequestBuilder builder = page.getNextPage();
while (builder != null) {
    request = builder.buildRequest();
    page = request.get();
    // Process each subsequent page
    builder = page.getNextPage();
}

Альтернативный способ структурирования запросов (с тем же результатом), который, как мне кажется, немного легче читать:

IGroupCollectionPage page;
IGroupCollectionRequestBuilder builder;

// Build the initial request (including any filters)
List<Option> requestOptions = new ArrayList<Option>();
requestOptions.add(new QueryOption("$filter", "startsWith(displayName,'Foo')"));
IGroupCollectionRequest request = graphServiceClient.groups().buildRequest(requestOptions);

do {
    // Make request
    page = request.get();

    // Process results
    for(Group g: page.getCurrentPage()) {
        System.out.println(g.displayName);
    }

    // Get and build request for next page
    builder = page.getNextPage();
    if (builder == null) {
        request = null;
    } else {
        request = builder.buildRequest();
    }
} while (request != null);

Другие вопросы по теме