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

厦门哪家网站建设最好个人对网络营销的看法

厦门哪家网站建设最好,个人对网络营销的看法,做网站必须要注册公司么,定襄网站建设SpringBoot教程(八) | SpringBoot统一结果封装 经过了前面几篇文章#xff0c;SpringBoot中MVC相关的配置其实都已经差不多了#xff0c;接下来就可以完全进入接口开发阶段了。前面我们写过几个接口#xff0c;虽然都加了RestController注解#xff0c;相当于统一了我们的…SpringBoot教程(八) | SpringBoot统一结果封装 经过了前面几篇文章SpringBoot中MVC相关的配置其实都已经差不多了接下来就可以完全进入接口开发阶段了。前面我们写过几个接口虽然都加了RestController注解相当于统一了我们的返回数据的基本形式为JSON但是由于我们的项目可能是很多人一起开发所以我们最好能够把我们的返回结果统一一下让大家都返回一样的数据格式这样即规范了代码也方便了前端人员的调用不然每个人都按照每个人的风格去写代码会变得非常混乱。 那我我们怎么还封装这个结果呢那就要关注我们返回给前端的数据都要包含哪些信息。 一般来讲首先要有一个code, 用来代表我们这次接口的一个状态比如 0代表成功1代表失败2代表必传参数不对 4代表系统异常等等。这只是个简单的举例。可能很多人会有疑问Http协议本身不是已经有了相应的返回码的定义了么比如200代表成功 500代表服务器错误404代表找不到页面为啥咱们还要在定义呢这就是划分粒度的问题了就那200来说它代表是这次请求成功了但是它描述不了这次请求中的业务结果比如用户名已存在其实业务上就不是一种成功但http的结果肯定是200所以我们需要一种描述我们业务状态的编码。 除了编码之外还有要一些提示信息比如操作成功系统异常用户名已存在等所以我们再加一个messge字段。 还有什么呢还有我们的核心数据比如我根据id获取数据那个这个数据的具体内容我们肯定是必须要返回给前端呢所以还要 有个data 那这个data 用什么类型呢这个类型肯定是五花八门所以我们要用一个统一的父类Object才可以接收所有类型当然为了便于操作我们可以采用泛型的方式。 通过上面的分析我们的这个类基本上就已经可以设计出来了。 java复制代码public class ResultT implements Serializable {private static final long serialVersionUID -3960261604605958516L;private int code;private String msg;private T data;// get set方法限于篇幅问题这里不写了大家操作的时候自己生成一下。或者使用lombokpublic static T ResultT success() {return new Result();}/*** 成功,默认状态码,返回消息,自定义返回数据** param data 自定义返回数据* param T 返回类泛型,不能为String* return 通用返回Result*/public static T ResultT success(T data) {return new Result(data);}/*** 成功,默认状态码,自定义返回消息,无返回数据** param msg 自定义返回消息* param T 返回类泛型* return 通用返回Result*/public static T ResultT success(String msg) {return new Result(msg);}/*** 成功,默认状态码,自定义返回消息,返回数据** param msg 自定义返回消息* param data 自定义返回数据* param T 返回类泛型* return 通用返回Result*/public static T ResultT success(String msg, T data) {return new Result(msg, data);}/*** 失败,默认状态码,返回消息,无返回数据** param T 返回类泛型* return 通用返回Result*/public static T ResultT error() {return new Result(ResultCode.ERROR);}/*** 失败,默认状态码,自定义返回消息,无返回数据** param T 返回类泛型* return 通用返回Result*/public static T ResultT error(String msg) {return new Result(ResultCode.ERROR.getCode(), msg);}/*** 失败,自定义状态码,返回消息,无返回数据** param code 自定义状态码* param msg 自定义返回消息* param T 返回类泛型* return 通用返回Result*/public static T ResultT error(int code, String msg) {return new Result(code, msg);}/*** 失败,使用CodeMsg状态码,返回消息,无返回数据** param resultCode CodeMsg,参数如下:* p code 状态码* p msg 返回消息* param T 返回类泛型* return 通用返回Result*/public static T ResultT error(ResultCode resultCode) {return new Result(resultCode);}/*** 成功构造器,无返回数据*/private Result() {this(ResultCode.SUCCESS);}/*** 成功构造器,自定义返回数据** param data 返回数据*/private Result(T data) {this(ResultCode.SUCCESS, data);}/*** 成功构造器,自定义返回消息,无返回数据** param msg 返回消息*/private Result(String msg) {this(ResultCode.SUCCESS.getCode(), msg);}/*** 成功构造器,自定义返回信息,返回数据** param msg 返回信息* param data 返回数据*/private Result(String msg, T data) {this(ResultCode.SUCCESS.getCode(), msg, data);}/*** 构造器,自定义状态码,返回消息** param code 状态码* param msg 返回消息*/private Result(int code, String msg) {this.code code;this.msg msg;}/*** 构造器,自定义状态码,返回消息,返回数据** param code 状态码* param msg 返回消息* param data 返回数据*/private Result(int code, String msg, T data) {this(code, msg);this.data data;}/*** 构造器,使用CodeMsg状态码与返回信息** param resultCode CodeMsg,参数如下:* p code 状态码* p msg 返回消息*/private Result(ResultCode resultCode) {this(resultCode.getCode(), resultCode.getMsg());}/*** 构造器,使用CodeMsg状态码与返回信息,自定义返回数据** param resultCode CodeMsg,参数如下:* p code 状态码* p msg 返回消息* param data 返回数据*/private Result(ResultCode resultCode, T data) {this(resultCode);this.data data;}}在定义几个常见的错误这里为了不写那么多的getset,我们引入了lombok java复制代码Data Builder public class ResultCode implements Serializable {private static final long serialVersionUID -6269841958947880397L;/*** 状态码*/private int code;/*** 状态信息*/private String msg;/*** 默认成功*/public final static ResultCode SUCCESS dispose(ResultCodeEnum.SUCCESS);/*** 默认失败*/public final static ResultCode ERROR dispose(ResultCodeEnum.ERROR);/*** 通用业务异常*/public final static ResultCode BIZ_ERROR dispose(ResultCodeEnum.BIZ_ERROR);/*** 文件超出最大限制*/public final static ResultCode FILE_OUT_MAX dispose(ResultCodeEnum.FILE_OUT_MAX);/*** 文件格式不正确*/public final static ResultCode FILE_FORMAT_ERROR dispose(ResultCodeEnum.FILE_FORMAT_ERROR);/*** 参数错误*/public final static ResultCode PARAM_ERROR dispose(ResultCodeEnum.PARAM_ERROR);/*** Json解析异常*/public final static ResultCode JSON_FORMAT_ERROR dispose(ResultCodeEnum.JSON_FORMAT_ERROR);/*** Sql解析异常*/public final static ResultCode SQL_ERROR dispose(ResultCodeEnum.SQL_ERROR);/*** 网络超时*/public final static ResultCode NETWORK_TIMEOUT dispose(ResultCodeEnum.NETWORK_TIMEOUT);/*** 未知的接口*/public final static ResultCode UNKNOWN_INTERFACE dispose(ResultCodeEnum.UNKNOWN_INTERFACE);/*** 请求方式不支持*/public final static ResultCode REQ_MODE_NOT_SUPPORTED dispose(ResultCodeEnum.REQ_MODE_NOT_SUPPORTED);/*** 系统异常*/public final static ResultCode SYS_ERROR dispose(ResultCodeEnum.SYS_ERROR);private static ResultCode dispose(ResultCodeEnum codeEnum) {return ResultCode.builder().code(codeEnum.getCode()).msg(codeEnum.getMsg()).build();}public ResultCode(int code, String msg) {this.code code;this.msg msg;} } java复制代码public enum ResultCodeEnum {SUCCESS(0, 操作成功),ERROR(1, 操作失败),BIZ_ERROR(1000, 通用业务异常),FILE_OUT_MAX(9000, 文件超出最大限制),FILE_FORMAT_ERROR(9001, 文件格式不正确),PARAM_ERROR(9050, 参数错误),JSON_FORMAT_ERROR(9051, Json解析异常),SQL_ERROR(9052, Sql解析异常),NETWORK_TIMEOUT(9510, 网络超时),UNKNOWN_INTERFACE(9520, 未知的接口),REQ_MODE_NOT_SUPPORTED(9530, 请求方式不支持),SYS_ERROR(9999, 系统异常);/*** 状态码*/private final int code;/*** 状态信息*/private final String msg;public int getCode() {return code;}public String getMsg() {return msg;}ResultCodeEnum(int code, String msg) {this.code code;this.msg msg;} }这个写完了以后就可以统一我们的返回结果以后所有的Controller就都要返回Result类型。比如 java复制代码GetMapping(/withinRangeResource)public ResultListEmergencyExpertResVO withinRangeResource(Valid ResourceRangeReqVO param) {ListEmergencyExpertResVO expertResVOS emergencyExpertBiz.getWithinRangeResource(param);return Result.success(expertResVOS);}另 配套项目代码已托管中gitCode: gitcode.net/lsqingfeng/…
http://www.dnsts.com.cn/news/239152.html

相关文章:

  • 曼斯特(北京)网站建设公司游戏网站的导航条怎么做的
  • 网上网站开发前端开发遇到的问题及解决方法
  • 什么网站做新产品代理seo优化方向
  • 易语言做返利网站石家庄智能网站建设
  • 网站网页直播怎么做的购物便宜的网站有哪些
  • 网站建设十佳关于进行网站建设费用的请示
  • 国内做的比较简洁的网站权威的合肥网站建设
  • 网站建设与制作价格企业邮箱电话人工服务24小时
  • 网站运营如何做桂林临桂区建设局网站
  • 网站关键词搜索排名怎么做安居客官网网站
  • 宿州金融网站建设163邮箱注册申请注册官网
  • 推荐 官网 潍坊网站建设泊头网站制作案例
  • 百度pc端首页搜索引擎优化案例
  • 如何设计网站模板个人网站是啥
  • 外贸网站产品网站制作哪家实惠
  • 用wordpress建站多少钱大型大型网站建设方案ppt模板
  • 网站开发应聘信息兰州北京网站建设
  • 个人建网站一般多少钱做导购网站有哪些
  • 做视频网站赚钱网站客户体验
  • 怎样开通网站查询网站开发语言排
  • 网站快速盈利怎么做hello官方网站
  • 做网站卖房写标题wordpress 数码主题
  • 注册网站获取网易邮箱安全码软件开发服务平台
  • 加强二级网站建设 招生做婚庆网站图片下载
  • 网站付款方式没有服务器如何做网站
  • 东莞网络推广公司福州seo排名优化公司
  • 毕业设计做网站简单吗关键词排名优化易下拉教程
  • 沧州网站设计师招聘好看的 网站后台模板
  • 网站建设ssc源码平台做财经比较好的网站有哪些
  • 做网站的企业排名asp网站安全吗