zoukankan      html  css  js  c++  java
  • 【OF框架】定义框架标准WebApi,按照规范返回状态信息及数据信息

    准备


     了解框架基本应用,已经完成Controller创建。

    一、定义框架标准WebApi


     一个标准的WebApi,包含预定义的入参和回参类型

    入参为CallParams,需要增加FromBody声明,代码如下:

            public override ActionResult<CallResult> Query()
            {
                var list = _IEmployeeService.Query(Request.Params("DepartmentID"), this.ThisPageInfo);
                return CallResult.Create(list);
            }
    
            public ActionResult<CallResult> DisableOrEnabled([FromBody]CallParams param)
            {
                string id = param["Id"];
                string strStatus = param["status"];
    
                int status = (!string.IsNullOrEmpty(strStatus) && Convert.ToBoolean(strStatus)) ? 1 : 0;
    
                if (_IEmployeeService.DisableOrEnabled(id, status) <= 0)
                    return CallResult.Create(CallResultCode.NoChanged, "操作失败");
    
                return CallResult.Success;
            }

    入参也可以是实体类型,不需要添加FromBody声明,代码如下:

            public override ActionResult<CallResult> Save(sys_employee entity)
            {
                if (_IEmployeeService.Save(entity) <= 0)
                    return CallResult.Create(CallResultCode.NoChanged, "保存失败");
    
                return CallResult.Success;
            }

    二、入参CallParams对象介绍


    CallParams是一个继承Dictionary<string, object>的对象,方便取出参数,重载了索引取值方法,直接返回字符串。

        public class CallParams : Dictionary<string, object>
        {
            public new string this[string key]
            {
                get
                {
                    if (base.TryGetValue(key, out object item))
                        return Convert.ToString(item);
                    return string.Empty;
                }
            }
        }

    三、回参CallResult多种返回写法


                //返回成功
                return CallResult.Success;
                //返回状态
                return CallResult.Create(CallResultCode.NoChanged);
                //返回状态,备注
                return CallResult.Create(CallResultCode.NoChanged, "操作失败");
                //返回数据
                return CallResult.Create(list);
                //返回状态,备注,数据
                return CallResult.Create(CallResultCode.Success, "操作成功", list);
  • 相关阅读:
    MVC4中Ajax.BeginForm OnSuccess 不执行以及控制器返回JsonResult 提示下载的原因
    string.Equals 比较2个字符串是否相同忽略大小写
    [转载]mvc使用JsonResult返回Json数据
    [转载]深入理解ASP.NET MVC之ActionResult
    [转载]自定义ASP.NET MVC Html辅助方法 TagBuilder
    [转载]AOP面向方面编程
    [转载]ASP.NET MVC 3的分部视图
    适配 iOS尺寸
    IOS Bug分析
    苹果一些乱七八糟流程整理
  • 原文地址:https://www.cnblogs.com/chenyinxin/p/10901155.html
Copyright © 2011-2022 走看看