如何为他人提供微服务SDK包? #
跨项目组合作,通过nuget包+nacos,能够尽可能想同一个项目一样方便调用。
通过官方示例脚手架,示例项目已经有例子,如下:
- 需要让服务方提供微服务调用nuget包,俗称SDK。参考项目

如何定义sdk项目呢?
- 封装webclient接口 - 如下面汇率查询接口,默认从nacos中读取相关接口,无需指定服务器地址,其中DemoApi定义在nacos中。 - /// <summary> /// 汇率接口 /// </summary> [ApiName("DemoApi")] //ApiName值为空或者不写ApiName属性,api名称默认类名,此处为IExchangeRateApi [TraceFilter(OutputTarget = OutputTarget.Debug)] //debug窗口日志 public interface IExchangeRateApi : IHttpApi { /// <summary> /// 分页获取汇率列表 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet("api/Demo/BaseData/ExchangeRate")] ITask<dynamic> GetList(ExchangeRateListQueryInput input); }
- nacos中配置接口地址 - 只需要在nacos中查找netcore-webapi.json:  - 新增接口服务调用地址。 - 注意,您也可以直接调用外部接口,如第三方提供的物流查询等等,都可以通过该方式定义。 - 如: -  "Qyapi":{ -  "Uri":"https://qyapi.weixin.qq.com" -  },  
- 接下来,将该项目打包发布到nuget中。 - 然后将该nuget包发给你的小伙伴,他就可以直接引用调用啦。 - 具体调用过程参考:微服务远程调用 
