-
Notifications
You must be signed in to change notification settings - Fork 11
Henry edited this page Oct 11, 2019
·
1 revision
可以通过Nuget
安装组件,组件基于netstandard2.0
可运行在多平台上。
组件对接口的定义没特别的要求,只需要制定相应的请求方法和参数。
public interface INorthWind
{
Task<Employee> GetEmployee(int id);
[Post]
Task<Employee> Add(Employee emp);
[Post]
Task<bool> Login(string name, string value);
[Post]
Task<Employee> Modify([CQuery]int id, Employee body);
}
以止请求接口所有方法请求的路径是/
,对应的Url
是方法名称。在返回值定义上建议使用Task
返回类型,这样可以更好地利用网络的异常步处理机制,提供更好的性能。
组件支持四种请求方式,分别是:GET
(默认不需要配置),POST
,PUT
和DELETE
;可以通过不同的Attribute
描述来方法对应不同的请求类型。
所有接口定义的方法默认都在/
路径下,如果需要指定接口对应的子路径可以在接口上标记Controller
属性,具体操作如下:
[Controller(BaseUrl ="northwind")]
public interface INorthWind
以上定义的接口的基础路径是/northwind/
.如果定义的方法和请求的Url
路径不一样,可以在相关请求属性上指定对应的Route
属性,如下:
[Get(Route = "Header")]
Task<bool> Header1();
针对以上接口Header1
方法的请求路径是/northwind/header
HttpClusterApi httpClusterApi = new HttpClusterApi();
httpClusterApi.DefaultNode.Add("http://localhost:8080");
northWind = httpClusterApi.Create<INorthWind>();
var result = await northWind.GetEmployee(1);
组件通过集群化调用的HttpClusterApi
对象来管理请求,创建对象需要在对应的Url
节点添加相应的服务地址;以上代码是在DefaultNode
上添加地址,DefaultNode
是组件是默认Url
规则.定义服务后就可以创建对应的接口代理,通过代理接口操作即可以完成WebApi
调用。
组件默认是以Json
的格式进行数据提交和获取;具体使用那种方式可以根据实情况来设置,组件内置了:application/json
和application/x-www-form-urlencoded
.如果想明确使用的提交格式,可以在接口或方法中定义相关属性具体如下:
[FormUrlFormater]
public interface INorthWind