WebApiClient icon indicating copy to clipboard operation
WebApiClient copied to clipboard

是否考虑支持接口转发的功能

Open itbencn opened this issue 2 years ago • 5 comments

我需要将自己声明的接口再次基于自身项目提供外部访问 目前的做法是添加API控制器配合Swagger,然后挨个暴露接口,效率实在太低了,而且需要维护多个地方

需求场景 1.上游接口不支持Swagger等在线调试时,基于上面的描述,我既声明了使用接口,也能配合swagger快速实现对上游接口的在线调试 2.接口转发,在基于上游接口的基础上扩展自己新的接口然后一并提供给下游访问

itbencn avatar Jul 10 '23 16:07 itbencn

做转发层的话,可以关注YARP项目

xljiulang avatar Jul 11 '23 02:07 xljiulang

做转发层的话,可以关注YARP项目

第一个需求场景应该也常见呀,一举三得,既能内部代码调用,也能在线测试,还能提供给别人访问

itbencn avatar Jul 11 '23 12:07 itbencn

首先回答第二点:

WebApiClient专注于作为客户端,从命名上可以看出,它是一个Client,而且它将会专注于Client,目前我们没有计划加入转发的功能。 另一个方面来讲,由于其基于HttpClient的特性,使它不可能作为一个合格的Proxy,在此不深入探讨。或许你可以引入更加专业的库例如Yarp来组合完成你的需求。

其次对于第一点:

我没有太理解你的意思,按照我粗略的理解,你是希望在声明了WebApiClient的接口之后,也能启动一个UI,类似于PostMan、ApiFox或者其它类似产品一样,可以快速的填写参数。不必编写单元测试代码即可调用上游接口吗? @itbencn

EzrealJ avatar Jul 13 '23 12:07 EzrealJ

首先回答第二点:

WebApiClient专注于作为客户端,从命名上可以看出,它是一个Client,而且它将会专注于Client,目前我们没有计划加入转发的功能。 另一个方面来讲,由于其基于HttpClient的特性,使它不可能作为一个合格的Proxy,在此不深入探讨。或许你可以引入更加专业的库例如Yarp来组合完成你的需求。

其次对于第一点:

我没有太理解你的意思,按照我粗略的理解,你是希望在声明了WebApiClient的接口之后,也能启动一个UI,类似于PostMan、ApiFox或者其它类似产品一样,可以快速的填写参数。不必编写单元测试代码即可调用上游接口吗? @itbencn

第一点正确,也不用完全弄个新ui显示毕竟比较麻烦,可以考虑从兼容swagger ui方向靠

itbencn avatar Sep 09 '23 17:09 itbencn

感谢提议,会讨论这一事项。

EzrealJ avatar Sep 12 '23 16:09 EzrealJ