using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Serein.Library.Web { /// /// 表示参数为url中的数据 /// public class UrlAttribute : Attribute { } /// /// 表示入参参数为整个boby的数据 /// /// 例如:User类型含有int id、string name字段 /// /// ① Add(User user) /// 请求需要传入的json为 /// {"user":{ /// "id":2, /// "name":"李志忠"}} /// /// ② Add([Boby]User user) /// 请求需要传入的json为 /// {"id":2,"name":"李志忠"} /// /// public class BobyAttribute : Attribute { } /// /// 标记该类为 Web Api 处理类 /// public class AutoHostingAttribute : Attribute { public string Url { get; } public AutoHostingAttribute(string url = "") { this.Url = url; } } /// /// 方法的接口类型与附加URL /// [AttributeUsage(AttributeTargets.Method)] public class WebApiAttribute : Attribute { public ApiType ApiType; // HTTP 请求类型 public string Url; // URL 路径 /// /// 方法名称不作为url的部分 /// public bool IsUrl; /// /// 假设UserController.Add()的WebAPI特性中 /// http是HTTP.POST /// url被显示标明“temp” /// 那么请求的接口是POST,URL是 /// [http://localhost:8080]/user/add/temp /// /// /// public WebApiAttribute(ApiType http = ApiType.POST, bool isUrl = true, string url = "") { ApiType = http; Url = url; IsUrl = isUrl; } } public enum ApiType { POST, GET, //PUT, //DELETE } }