Beispiel #1
0
 /// <summary>
 /// 当非GET或HEAD请求的缺省参数特性声明时
 /// 为复杂参数类型的参数应用JsonContentAttribute
 /// </summary>
 /// <param name="builder"></param>
 /// <returns></returns>
 public static IWebApiClientBuilder UseJsonFirstApiActionDescriptor(this IWebApiClientBuilder builder)
 {
     builder.Services.AddSingleton <IApiActionDescriptorProvider, JsonFirstApiActionDescriptorProvider>();
     return(builder);
 }
Beispiel #2
0
 /// <summary>
 /// 配置HttpApiOptions的默认值
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="configuration">配置</param>
 /// <returns></returns>
 public static IWebApiClientBuilder ConfigureHttpApi(this IWebApiClientBuilder builder, IConfiguration configuration)
 {
     builder.Services.AddOptions <HttpApiOptions>().Bind(configuration);
     return(builder);
 }
 /// <summary>
 /// 编译时使用SourceGenerator生成接口的代理类型代码
 /// 运行时查找接口的代理类型并创建实例
 /// </summary>
 /// <remarks>
 /// <para>• 要求声明http接口的项目的编程语言为c#</para>
 /// <para>• 要求声明http接口的项目引用WebApiClientCore.Extensions.SourceGenerator包</para>
 /// <para>• 要求Visual Studio或msbuild工具为最新版本</para>
 /// </remarks>
 /// <param name="builder"></param>
 /// <returns></returns>
 public static IWebApiClientBuilder UseSourceGeneratorHttpApiActivator(this IWebApiClientBuilder builder)
 {
     builder.Services.AddSingleton(typeof(IHttpApiActivator <>), typeof(SourceGeneratorHttpApiActivator <>));
     return(builder);
 }
Beispiel #4
0
 /// <summary>
 /// 配置HttpApiOptions的默认值
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="configureOptions">配置选项</param>
 /// <returns></returns>
 public static IWebApiClientBuilder ConfigureHttpApi(this IWebApiClientBuilder builder, Action <HttpApiOptions> configureOptions)
 {
     builder.Services.AddOptions <HttpApiOptions>().Configure(configureOptions);
     return(builder);
 }