例如:加密前:http://xxxxxxxx/xxx/xxx?a=1&b=2&c=3 加密后http://xxxxxxxx/xxx/xxx?P=YT0xJmI9MiZjPTM=
在api创建模型类前,进行拦截,先将串解析,再根据解析的串对模型类的属性反射赋值。
public class ActionParamModelBinder : IModelBinder
{
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
{
try
{
//反射创建模型类 modelType模型类的类型 bindingContext.ModelType是哪个模型类
Type modelType = bindingContext.ModelType;
Assembly assembly = Assembly.GetExecutingAssembly();
//创建模型类的实体类 Mode是实体类
object model = assembly.CreateInstance(modelType.FullName);
string method = actionContext.Request.Method.ToString().ToUpper();
//获取发送的所有参数
//get方式