一.背景
为了方便开发,简化代码,也为了与前端方便对接,需要对接口服务返回结果进行统一处理.
.Net Core 中返回结果的处理与 .Net Framework 中的处理不一样.
.Net Core 返回结果处理继承自 ActionFilterAttribute , OnActionExecuted 的参数为 ActionExecutedContext.
我们需要对之前的处理进行修改.
二.封装
1.首先定义一个统一返回结果类
我们需要定义一个统一返回结果类ReturnObject简写为Robj
约定返回结果Code


1 /// <summary> 2 /// 返回Code 3 /// </summary> 4 public enum RCode 5 { 6 /// <summary> 7 /// 成功 8 /// </summary> 9 [JsonProperty("1000")] 10 Success = 1000, 11 12 /// <summary> 13 /// 登录超时,需重新登录 14 /// </summary> 15 [JsonProperty("2000")] 16 NeedLogin = 2000, 17 18 /// <summary> 19 /// 程序异常 20 /// </summary> 21 [JsonProperty("3000")] 22 Exception = 3000, 23 24 /// <summary> 25 /// 系统错误 26 /// </summary> 27 [JsonProperty("4000")] 28 SysError = 4000 29 }
返回结果对象类


1 /// <summary> 2 /// 返回结果对象 3 /// ReturnObject Robj 4 /// 默认RCode为成功,Message为成功. 5 /// </summary> 6 /// <typeparam name="T"></typeparam> 7 public class Robj<T> 8 { 9 T result = default(T); 10 RCode code = RCode.Success; 11 string message = "操作成功"; 12 13 /// <summary> 14 /// 结果 15 /// </summary> 16 public T Result 17 { 18 get { return result; } 19