如何使用 MS JAVA SDK for GRAPH API 重试请求?
How to retry requests using MS JAVA SDK for GRAPH API?
我是使用 Graph API 的初学者,目前正在尝试处理代码中与节流相关的错误。在 sdk 的 github 页面中有一个 RetryHandler class。但我似乎找不到示例请求的代码实现。有没有我可以检查和尝试的示例?
作为示例,我可以在下面给出我自己的代码。
@Override
public JsonObject getUserList(String accessToken){
LOGGER.trace("Querying directRoutingEnabled users");
final String selectQuery = "mail,givenName,surname,displayName";
final List<Option> requestOptions = new LinkedList<>();
final String filterQuery = createFilterQuery();
requestOptions.add(new HeaderOption(CONSISTENCY_LEVEL, EVENTUAL));
requestOptions.add(new QueryOption(SELECT, selectQuery));
requestOptions.add(new QueryOption(COUNT, true));
requestOptions.add(new QueryOption(FILTER, filterQuery));
IGraphServiceClient graphServiceClient = GraphServiceClient.builder().authenticationProvider(new SimpleAuthProvider(accessToken)).buildClient();
IUserCollectionRequest request = graphServiceClient
.users()
.buildRequest(requestOptions);
IUserCollectionPage users = request.get();
return users.getRawObject();
}
我如何使用 Java 的 Graph SDK 用 重试机制(可能还有错误处理)来覆盖这段代码?.
核心库中的默认中间件带有默认的 RetryHandler 实现。多亏了 recent fix,它也可以处理节流错误。
从SDK的V3开始,您可以使用自定义拦截器指定自定义OkHttpClient。可在此处找到自定义指南:https://docs.microsoft.com/en-us/graph/sdks/customize-client?tabs=java.
默认 RetryHandler 实现:https://github.com/microsoftgraph/msgraph-sdk-java-core/blob/dev/src/main/java/com/microsoft/graph/httpcore/RetryHandler.java
默认 RetryHandler 设计:https://microsoftgraph.github.io/msgraph-sdk-design/middleware/RetryHandler.html
我是使用 Graph API 的初学者,目前正在尝试处理代码中与节流相关的错误。在 sdk 的 github 页面中有一个 RetryHandler class。但我似乎找不到示例请求的代码实现。有没有我可以检查和尝试的示例?
作为示例,我可以在下面给出我自己的代码。
@Override
public JsonObject getUserList(String accessToken){
LOGGER.trace("Querying directRoutingEnabled users");
final String selectQuery = "mail,givenName,surname,displayName";
final List<Option> requestOptions = new LinkedList<>();
final String filterQuery = createFilterQuery();
requestOptions.add(new HeaderOption(CONSISTENCY_LEVEL, EVENTUAL));
requestOptions.add(new QueryOption(SELECT, selectQuery));
requestOptions.add(new QueryOption(COUNT, true));
requestOptions.add(new QueryOption(FILTER, filterQuery));
IGraphServiceClient graphServiceClient = GraphServiceClient.builder().authenticationProvider(new SimpleAuthProvider(accessToken)).buildClient();
IUserCollectionRequest request = graphServiceClient
.users()
.buildRequest(requestOptions);
IUserCollectionPage users = request.get();
return users.getRawObject();
}
我如何使用 Java 的 Graph SDK 用 重试机制(可能还有错误处理)来覆盖这段代码?.
核心库中的默认中间件带有默认的 RetryHandler 实现。多亏了 recent fix,它也可以处理节流错误。
从SDK的V3开始,您可以使用自定义拦截器指定自定义OkHttpClient。可在此处找到自定义指南:https://docs.microsoft.com/en-us/graph/sdks/customize-client?tabs=java.
默认 RetryHandler 实现:https://github.com/microsoftgraph/msgraph-sdk-java-core/blob/dev/src/main/java/com/microsoft/graph/httpcore/RetryHandler.java
默认 RetryHandler 设计:https://microsoftgraph.github.io/msgraph-sdk-design/middleware/RetryHandler.html