使用泛型返回类
还有两周就要除夕过新年,今天来篇博客吧
好,言归正传。
场景:当我们需要返回同样的实体时,定义如下类,那么可以不用针对每次的返回结果来重复定义类。
/// <summary> /// http响应实体。Serializable表明可以被序列化,但不能被继承 /// </summary> [Serializable] public class BaseResponse<T> { /// <summary> /// //返回状态,正常是200 /// </summary> public int? code { get; set; } /// <summary> /// 后台消息 /// </summary> public string message { get; set; } /// <summary> /// 返回的数据 /// </summary> public T data { get; set; } }
使用该返回类:
1.当返回的信息只需要 状态码code 和 返回信息message 不需要 data 时,
BaseResponse<object> response = new BaseResponse<object>(); response.code = 201; esponse.message = "用户未登录"; return Json(response);
2.当返回的信息需要 data时,当 data 是需要返回的一名学生的信息,来建个 Student 学生类:
public class Student { public string name{get; set;} public string gender{get; set;} }
那么返回一个Student类型的 zhangsan,我们这么使用:
BaseResponse<Student> response = new BaseResponse<Student>(); response.code = 201; response.message = "用户未登录"; response.data = zhangsan; return Json(response);