怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能包含多个子请求(真实的请求,接口),这种设计确实看着很灵活,客户端可以根据自己的需要去拿服 ...
怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能包含多个子请求(真实的请求,接口),这种设计确实看着很灵活,客户端可以根据自己的需要去拿服务器的数据,确实不错!
首先我们要定义一套自己的请求和响应对象
#region 请求对象 /// <summary> /// 参数对象 /// </summary> [DataContractAttribute] public class RequestParam { public RequestParam(string name, string value) { this.ParamName = name; this.ParamValue = value; } [DataMemberAttribute] public string ParamName { get; private set; } [DataMemberAttribute] public string ParamValue { get; private set; } } /// <summary> /// 数据包中的实体 /// </summary> [DataContractAttribute] public class RequestData { public RequestData() { this.HttpMethod = 0; this.RequestParam = new Dictionary<string, string>(); } /// <summary> /// 本次通讯唯一标示 /// </summary> [DataMemberAttribute] public string GuidKey { get; set; } /// <summary> /// 请求方式0:get,1:Post /// </summary> public int HttpMethod { get; set; } /// <summary> /// 要调用的方法 /// </summary> [DataMemberAttribute] public string Url { get; set; } /// <summary> /// 方法的参数列表 /// </summary> [DataMemberAttribute] public IDictionary<string, string> RequestParam { get; set; } } /// <summary> /// 请求数据包 /// </summary> [DataContractAttribute] public class RequestDataSegment { public RequestDataSegment() { this.RequestData = new List<RequestData>(); } [DataMemberAttribute] public List<RequestData> RequestData { get; set; } } #endregion
原标题:WebApi系列~基于单请求封装多请求的设计
关键词:web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。