@@ -25,6 +25,17 @@ namespace Microsoft.Extensions.DependencyInjection
25
25
/// </summary>
26
26
public static class FeishuNetSdkExtensions
27
27
{
28
+ private static void HttpApiOptions ( WebApiClientCore . HttpApiOptions option )
29
+ {
30
+ option . JsonSerializeOptions . DefaultIgnoreCondition = JsonIgnoreCondition . WhenWritingNull ;
31
+ option . KeyValueSerializeOptions . IgnoreNullValues = true ;
32
+ }
33
+
34
+ private static void HttpClientOptions ( HttpClient option )
35
+ {
36
+ option . Timeout = TimeSpan . FromMinutes ( 5 ) ;
37
+ }
38
+
28
39
/// <summary>
29
40
/// 使用参数方式注册SDK
30
41
/// </summary>
@@ -84,18 +95,10 @@ private static IServiceCollection AddFeishuNetSdk(this IServiceCollection servic
84
95
services . AddWebApiClient ( )
85
96
. UseJsonFirstApiActionDescriptor ( ) ;
86
97
87
- services . AddHttpApi < IFeishuApi > ( ) ;
88
- services . AddHttpApi < IFeishuAppApi > ( ) ;
89
- services . AddHttpApi < IFeishuTenantApi > ( option =>
90
- {
91
- option . JsonSerializeOptions . DefaultIgnoreCondition = JsonIgnoreCondition . WhenWritingNull ;
92
- option . KeyValueSerializeOptions . IgnoreNullValues = true ;
93
- } ) ;
94
- services . AddHttpApi < IFeishuUserApi > ( option =>
95
- {
96
- option . JsonSerializeOptions . DefaultIgnoreCondition = JsonIgnoreCondition . WhenWritingNull ;
97
- option . KeyValueSerializeOptions . IgnoreNullValues = true ;
98
- } ) ;
98
+ services . AddHttpApi < IFeishuApi > ( HttpApiOptions ) . ConfigureHttpClient ( HttpClientOptions ) ;
99
+ services . AddHttpApi < IFeishuAppApi > ( HttpApiOptions ) . ConfigureHttpClient ( HttpClientOptions ) ;
100
+ services . AddHttpApi < IFeishuTenantApi > ( HttpApiOptions ) . ConfigureHttpClient ( HttpClientOptions ) ;
101
+ services . AddHttpApi < IFeishuUserApi > ( HttpApiOptions ) . ConfigureHttpClient ( HttpClientOptions ) ;
99
102
100
103
services . TryAddSingleton < IEventCallbackServiceProvider , EventCallbackServiceProvider > ( ) ;
101
104
0 commit comments