优点:简化api调用过程,WebApiClient.AOT.dll中的IHttpApi接口

缺点:只适用于内部服务之间的调用(没有验证过程)

1.继承IHttpAPi接口

 public interface IService: IHttpApi 
    { 
        [HttpGet("api/getvalue/{id}")] 
        Task<ValueModel> GetValue([PathQuery]Guid id); 
 
        [HttpGet("api/getallvalue")] 
        Task<ValueModel[]> GetValues(); 
    }

2.在startup中注入

services.AddSingleton(serviceProvider => HttpApiClient.Create<IService>(serviceProvider.GetRequiredService<ApiConfig>()));

3.在ApiConfig配置api地址

 public class ApiConfig : HttpApiConfig 
    { 
        public ApiConfig(IConfiguration configuration, ILoggerFactory loggingFactory) 
        { 
            var httpHost = configuration["apiurl"];//apiurl在配置文件中 
            HttpHost = new Uri(httpHost); 
        } 
    }

 

然后,就可以使用IService.GetValue(id)调用api/getvalue/{id}

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

数据库中间件mycat安装与使用详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。