当前位置: 首页 > news >正文

大连网络备案做网站wordpress去广告插件

大连网络备案做网站,wordpress去广告插件,建设工程监理考试网站,优化大师官网下载在RestFul风格盛行的年代#xff0c;大部分接口都需要一套统一的数据返回格式#xff0c;那么我们怎么才能保证使用统一的json数据格式返回呢#xff0c;下面给大家简单介绍一下#xff1a; 假如我们需要接口统一返回一下数据格式#xff1a; {statusCode: …在RestFul风格盛行的年代大部分接口都需要一套统一的数据返回格式那么我们怎么才能保证使用统一的json数据格式返回呢下面给大家简单介绍一下 假如我们需要接口统一返回一下数据格式 {statusCode: 200,successful: true,message: null,data: object } json对象中data是返回的实际结果对象可以是一个对象、一个list、一个字符串、一个数字...... 但是整体的json格式要以上面的为准 一般这种情况我们有两种实现方式 1、自定义一个统一返回类 2、使用过滤器(Filter)实现 下面先介绍第一种自定义一个接口返回类 创建对应的接口类和实现类 ApiResponse.cs//实现类IApiResponse.cs://几个相关的接口 IApiResponse.cs public interface IApiResponse{public int StatusCode { get; set; }public bool Successful { get; set; }public string? Message { get; set; }}public interface IApiResponseT : IApiResponse{public T? Data { get; set; }}public interface IApiErrorResponse{public Dictionarystring, object ErrorData { get; set; }} 保证了所有相关对象都来自 IApiResponse 接口 ApiResponse.cs public class ApiResponseT : IApiResponseT{public ApiResponse(){}public ApiResponse(T? data){Data data;}public int StatusCode { get; set; } 200;public bool Successful { get; set; } true;public string? Message { get; set; }public T? Data { get; set; }/// summary/// 实现将 see crefApiResponse/ 隐式转换为 see crefApiResponse{T}//// /summary/// param nameapiResponsesee crefApiResponse//parampublic static implicit operator ApiResponseT(ApiResponse apiResponse){return new ApiResponseT{StatusCode apiResponse.StatusCode,Successful apiResponse.Successful,Message apiResponse.Message};}}public class ApiResponse : IApiResponse, IApiErrorResponse{public int StatusCode { get; set; } 200;public bool Successful { get; set; } true;public string? Message { get; set; }public object? Data { get; set; }/// summary/// 可序列化的错误/// para用于保存模型验证失败的错误信息/para/// /summarypublic Dictionarystring, object? ErrorData { get; set; }public ApiResponse(){}public ApiResponse(object data){Data data;}public static ApiResponse NoContent(string message NoContent){return new ApiResponse{StatusCode StatusCodes.Status204NoContent,Successful true,Message message};}public static ApiResponse Ok(string message Ok){return new ApiResponse{StatusCode StatusCodes.Status200OK,Successful true,Message message};}public static ApiResponse Ok(object data, string message Ok){return new ApiResponse{StatusCode StatusCodes.Status200OK,Successful true,Message message,Data data};}public static ApiResponse Unauthorized(string message Unauthorized){return new ApiResponse{StatusCode StatusCodes.Status401Unauthorized,Successful false,Message message};}public static ApiResponse NotFound(string message NotFound){return new ApiResponse{StatusCode StatusCodes.Status404NotFound,Successful false,Message message};}public static ApiResponse BadRequest(string message BadRequest){return new ApiResponse{StatusCode StatusCodes.Status400BadRequest,Successful false,Message message};}public static ApiResponse BadRequest(ModelStateDictionary modelState, string message ModelState is not valid.){return new ApiResponse{StatusCode StatusCodes.Status400BadRequest,Successful false,Message message,ErrorData new SerializableError(modelState)};}public static ApiResponse Error(string message Error, Exception? exception null){object? data null;if (exception ! null){data new{exception.Message,exception.Data};}return new ApiResponse{StatusCode StatusCodes.Status500InternalServerError,Successful false,Message message,Data data};}} 分别实现类带有泛型的 ApiResponseT 类和 ApiResponse 类  注意在泛型类中使用运算符重载实现了 ApiResponse 到 ApiResponseT 的隐式转换。 在接口实现处返回一个 ApiResponseT 对象 [HttpGet]public ApiResponseUserEntity Get(string name){var list new ListUserEntity() {new UserEntity() { Name 张三 },new UserEntity(){Name 李四}};var user list.Find(p p.Name name);return user null ? ApiResponse.NotFound() : new ApiResponseUserEntity(user);} 注意看最后一句  return user null ? ApiResponse.NotFound() : new ApiResponseUserEntity(user); ApiResponse.NotFound() 返回的是一个 ApiResponse 对象 但这接口的返回值明明是 ApiResponseUserEntity 类型呀这不是类型不一致吗 不过在 ApiResponseT 中我们定义了一个运算符重载实现了 ApiResponse 类型到 ApiResponseT 的隐式转换所以就完美解决这个问题大大减少了代码量。 来看一下最后运行效果 下一章介绍一下如何通过自定义过滤器的方式实现统一接口返回数据格式 .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式-CSDN博客
http://www.pierceye.com/news/820495/

相关文章:

  • 做网站价格多少钱网站设计培训课程
  • 做网站找什么公司好淘宝客网站可以做百度推广
  • 北京网站建设首选石榴汇企业vi设计一整套
  • 做网站较好的公司c 网站开发培训
  • 一个云主机怎么挂两个网站建立网站要准备多少钱
  • 贵阳网站建设在线学做凉菜冷菜的网站
  • 购销网站建设视频百度云广东省深圳市龙华区
  • 做建材外贸哪个网站比较好乐清比较好的设计公司
  • 做电影种子下载网站违法吗桂林网站建设凡森网络
  • 云南省建设厅专家注册网站织梦网站怎么做下载地址
  • 你们需要网站建设搜索引擎调词平台多少钱
  • 北京建设官方网站百度公司官网首页
  • 四川禾力建设工程质量检测有限公司网站惠州有哪些做网站的公司
  • 深圳手机网站设计公司php网站安装图解
  • 网站开发 工作职责平面设计和室内设计有什么区别
  • 防城港门面做网站的代做网站跳转
  • 珠海网站系统建设苏州房地产网站建设
  • 长治网站建设培训文件检察院网站建设
  • 茶文化网站制作asa8.4 做网站映射
  • 网站建设步骤 文档富阳做网站洛洛科技
  • 列举网站建设的SEO策略广东建设行业招聘 什么网站
  • 免费社区建站系统seo是指什么
  • 网站建设实训的认识小企业网站建设哪里做得好
  • 无锡seo网站排名优化牟平建设企业网站
  • 网络营销好找工作吗成都seo优化公司排名
  • 网站换关键词山西网站备案
  • 网站微信建设运维经验深圳罗湖企业网站
  • 国外设计类网站泰安网网站建设
  • 做暖暖小视频网站手机 dns 国外网站
  • 子网站建设工作网站 首页布局 seo