WebApi返回数据我们一般包裹在一个公共的模型下面的,而不是直接返回最终数据,在返回参数中,显示出当前请求的时间戳,是否请求成功,如果错误那么错误的消息是什么,状态码(根据业务定义的值)等等 。我们常规的返回值常需要如下字段,为此我们可以先定义IResultDto 接口
/// <summary>/// 结果模型/// </summary>public interface IResultDto{/// <summary>/// 成功/// </summary>bool Successful { get; set; }/// <summary>/// 返回标识码/// </summary>int Code { get; set; }/// <summary>/// 操作码(用于幂等性验证,每次请求都会返回一个新的,以便用户下次更新使用)/// </summary>string OpCode { get; set; }/// <summary>/// 消息/// </summary>string Msg { get; set; }/// <summary>/// 常规数据/// </summary>dynamic Data { get; set; }}/// <summary>/// 结果模型/// </summary>public interface IResultDto{/// <summary>/// 成功/// </summary>bool Successful { get; set; }/// <summary>/// 返回标识码/// </summary>int Code { get; set; }/// <summary>/// 操作码(用于幂等性验证,每次请求都会返回一个新的,以便用户下次更新使用)/// </summary>string OpCode { get; set; }/// <summary>/// 消息/// </summary>string Msg { get; set; }/// <summary>/// 常规数据/// </summary>dynamic Data { get; set; }}对应的还接口的实现如下,为了更好的独立性,在这里实现了成功和失败赋值方法 。
/// <summary>/// 返回模型/// </summary>public class ResultDto : IResultDto{/// <summary>/// 返回标识码/// </summary>public int Code { get; set; }/// <summary>/// 成功/// </summary>[JsonIgnore]public bool Successful { get; set; }/// <summary>/// 消息/// </summary>public string Msg { get; set; }/// <summary>/// 操作码(用于幂等性验证,每次请求都会返回一个新的,以便用户下次更新使用)/// </summary>public string OpCode { get; set; }/// <summary>/// 常规数据/// </summary>public dynamic Data { get; set; }/// <summary>/// 成功/// </summary>/// <returns></returns>public ResultDto Success(string msg = "success"){this.Code = (int)EnumCode.Succeed;this.Successful = true;this.Msg = msg;return this;}/// <summary>/// 成功/// </summary>/// <param name="data"></param>/// <param name="msg"></param>/// <returns></returns>public ResultDto Success(dynamic data = https://www.huyubaike.com/biancheng/default, string msg ="success"){this.Code = (int)EnumCode.Succeed;this.Successful = true;this.Data = https://www.huyubaike.com/biancheng/data;this.Msg = msg;return this;}///
经验总结扩展阅读
- kubernetes Tcp流量可视化
- P3834 【模板】可持久化线段树 2
- 冰糖葫芦不化糖的窍门
- 火影丁次化蝶是怎么回事
- 复古传世手游强化装备技巧
- 什么叫色谱柱活化
- 膨化食品软了怎么变脆
- e类火灾用什么灭火器
- 强化地板优点是什么?
- 2023年10月18日买鱼好吗 2023年10月18日买鱼行吗