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

官网的网站建设桐庐建设局网站

官网的网站建设,桐庐建设局网站,北京搭建网站,网站建设模板删不掉一、统一表现层返回值 根据我们不同的处理方法,返回的数据格式都会不同,例如添加只返回true|false,删除同理,而查询却返回数据。 Result类 为此我们封装一个result类来用于表现层的返回。 public class Result {//描述统一格式…

一、统一表现层返回值

  根据我们不同的处理方法,返回的数据格式都会不同,例如添加只返回true|false,删除同理,而查询却返回数据。

Result类

为此我们封装一个result类来用于表现层的返回。

public class Result {//描述统一格式中的数据private Object data;//描述统一格式中的编码,用于区分操作,可以简化配置0或1表示成功失败private Integer code;//描述统一格式中的消息,可选属性private String msg;public Result() {}public Result(Integer code,Object data) {this.data = data;this.code = code;}public Result(Integer code, Object data, String msg) {this.data = data;this.code = code;this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}
}

Code类

Code类不是固定的,是商量好的一种编号,每种编号对应业务操作的不同状态。

public class Code {//Code类的常量设计也不是固定的,可以根据需要自行增减。public static final Integer SAVE_OK = 20011;public static final Integer DELETE_OK = 20021;public static final Integer UPDATE_OK = 20031;public static final Integer GET_OK = 20041;public static final Integer SAVE_ERR = 20010;public static final Integer DELETE_ERR = 20020;public static final Integer UPDATE_ERR = 20030;public static final Integer GET_ERR = 20040;
}

 BookController类

//统一每一个控制器方法返回值
@RestController
@RequestMapping("/books")
public class BookController {@Autowiredprivate BookService bookService;@PostMappingpublic Result save(@RequestBody Book book) {boolean flag = bookService.save(book);return new Result(flag ? Code.SAVE_OK:Code.SAVE_ERR,flag);}@PutMappingpublic Result update(@RequestBody Book book) {boolean flag = bookService.update(book);return new Result(flag ? Code.UPDATE_OK:Code.UPDATE_ERR,flag);}@DeleteMapping("/{id}")public Result delete(@PathVariable Integer id) {boolean flag = bookService.delete(id);return new Result(flag ? Code.DELETE_OK:Code.DELETE_ERR,flag);}@GetMapping("/{id}")public Result getById(@PathVariable Integer id) {Book book = bookService.getById(id);Integer code = book != null ? Code.GET_OK : Code.GET_ERR;String msg = book != null ? "" : "数据查询失败,请重试!";return new Result(code,book,msg);}@GetMappingpublic Result getAll() {List<Book> bookList = bookService.getAll();Integer code = bookList != null ? Code.GET_OK : Code.GET_ERR;String msg = bookList != null ? "" : "数据查询失败,请重试!";return new Result(code,bookList,msg);}
}

对应效果

二、异常处理

  对于Dao层(数据层),Service层(服务层),Controller(业务控制层)等,所抛出的异常应该统一到业务控制层来处理。

1.封装异常处理器类

@RestControllerAdvice注解可以声明一个类为异常处理器类

@ExceptionHandler注解是定义当前方法用于处理哪一种异常,通过形参可以把异常传进来

 

 

2. 项目中的异常

  自定义异常都要继承RuntimeException这个类,这个类的父类是Exception,这个类是运行异常类,碰到了自动往业务层传递异常。

BusinessException 自定义业务异常类

//自定义异常处理器,用于封装异常信息,对异常进行分类
public class BusinessException extends RuntimeException{private Integer code;public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}
//自动实现的构造方法有很多,只不过这两种实用public BusinessException(Integer code, String message) {super(message);this.code = code;}public BusinessException(Integer code, String message, Throwable cause) {super(message, cause);this.code = code;}
}

 SystemException 自定义系统异常类

//自定义异常处理器,用于封装异常信息,对异常进行分类
public class SystemException extends RuntimeException{private Integer code;public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public SystemException(Integer code, String message) {super(message);this.code = code;}public SystemException(Integer code, String message, Throwable cause) {super(message, cause);this.code = code;}}

Code类的补充

public static final Integer SYSTEM_ERR = 50001;public static final Integer SYSTEM_TIMEOUT_ERR = 50002;public static final Integer SYSTEM_UNKNOW_ERR = 59999;public static final Integer BUSINESS_ERR = 60002;

 异常控制类-ProjectExceptionAdvice

拦截并处理异常

//@RestControllerAdvice用于标识当前类为REST风格对应的异常处理器
@RestControllerAdvice
public class ProjectExceptionAdvice {//@ExceptionHandler用于设置当前处理器类对应的异常类型@ExceptionHandler(SystemException.class)public Result doSystemException(SystemException ex){//记录日志//发送消息给运维//发送邮件给开发人员,ex对象发送给开发人员return new Result(ex.getCode(),null,ex.getMessage()); //规范返回结果}@ExceptionHandler(BusinessException.class)public Result doBusinessException(BusinessException ex){return new Result(ex.getCode(),null,ex.getMessage());}//除了自定义的异常处理器,保留对Exception类型的异常处理,用于处理非预期的异常@ExceptionHandler(Exception.class)public Result doOtherException(Exception ex){//记录日志//发送消息给运维//发送邮件给开发人员,ex对象发送给开发人员return new Result(Code.SYSTEM_UNKNOW_ERR,null,"系统繁忙,请稍后再试!");}
}


文章转载自:

http://ESGxwERt.nhzxd.cn
http://dYCv7Fxo.nhzxd.cn
http://yDVLafdD.nhzxd.cn
http://1J3xM2T8.nhzxd.cn
http://RmQl75W7.nhzxd.cn
http://Dat51lJ6.nhzxd.cn
http://z9onyOS5.nhzxd.cn
http://ER166tUq.nhzxd.cn
http://REn4Mu4z.nhzxd.cn
http://SD3NstDF.nhzxd.cn
http://cg6sMJaU.nhzxd.cn
http://L8SLfOoi.nhzxd.cn
http://IucM8ZqJ.nhzxd.cn
http://BmSYae2O.nhzxd.cn
http://jZ905ujv.nhzxd.cn
http://C7M7HD9n.nhzxd.cn
http://w2Ge5oVR.nhzxd.cn
http://ulm6Ay0f.nhzxd.cn
http://4JKf1JKY.nhzxd.cn
http://YazHYRZ8.nhzxd.cn
http://d0WwuUCk.nhzxd.cn
http://nAS8J61m.nhzxd.cn
http://B1HGU6NE.nhzxd.cn
http://BU6qW43h.nhzxd.cn
http://hXEBIdYq.nhzxd.cn
http://GqQwnAkH.nhzxd.cn
http://uymjODnh.nhzxd.cn
http://DkbJesNh.nhzxd.cn
http://A5JbFGNC.nhzxd.cn
http://S0gUMDJC.nhzxd.cn
http://www.dtcms.com/wzjs/655320.html

相关文章:

  • 南昌网站推广¥做下拉去118cr网站系统建设的主要意义
  • 怎么在网站首页做飘窗中企动力总部在哪里
  • 网站ui设计报价单家装公司名称取名参考
  • 百度做营销网站多少钱网站建设要什么
  • 网站注册域名响应式网站几个断点
  • 山西制作网站公司排名做网站平台成本
  • 零食网站制作的建设大纲自己在线制作logo免费版
  • 公司logo设计在线制作大城网站优化
  • wordpress仿站服务学python学费大概多少
  • 南宁大型网站开发千锋教育地址
  • 世界著名产品设计作品深圳做网站乐云seo598
  • seo网站建设时文章频率企业建站公司怎么创业
  • 重庆做网站建设哪里好腾讯企业邮箱网址
  • 建设英文网站的必要性网站建设行业swot分析
  • 厦门网站设计公司哪家好福建电商小程序厦门开发公司国外优秀网站
  • 公司的做网站建设网站是什么关系
  • 公司管理软件有哪些网站页面优化技巧
  • 可以做外链的音乐网站搭建一个网站需要多少钱
  • 单位网站建设流程asp网站开发软件
  • 做国内第一游戏数据门户网站快速优化工具
  • 徐州鼓楼区建设网站高端网站建设必须要满足哪些要求
  • 网站导航做外链我的网站突然找不到网页了
  • 购物网站名字wordpress 被镜像
  • 国外工会网站建设叶涛网站推广优化
  • 加盟网站需要怎么做工具类网站开发
  • 专业视频网站开发公司seo快速收录快速排名
  • 缪斯设计网站网站开发项目建设经验
  • 做国外有那些网站比较好的怎样设计手机网站建设
  • 百度统计网站速度诊断工具wordpress自定义栏目是什么
  • 做ic芯片的要去哪个网站启东市住房城乡建设局网站