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

如何做网站域名备案构站网

如何做网站域名备案,构站网,百度推广广告公司,网页的基本布局包括什么接着2中登录模块补充一个点: //可以看到这里返回给前端控制器的是一个类而不是html页面public RespBean doLogin(Valid LoginVo loginVo, HttpServletRequest request,HttpServletResponse response){return userService.doLogin(loginVo, request, response);}首先…

接着2中登录模块补充一个点:

//可以看到这里返回给前端控制器的是一个类而不是html页面public RespBean doLogin(@Valid LoginVo loginVo, HttpServletRequest request,HttpServletResponse response){return userService.doLogin(loginVo, request, response);}

首先:在本项目中,所有的Controller类返回给前端控制器的都是ResBean对象,下面是这个类的实现,属性包括返回代码,提示信息以及一个Object类。

package com.example.seckilldemo.vo;
import lombok.Data;/*** @Author wuyifan* @Date 2024/4/22 16:17* @Version 1.0*/
@Datapublic class RespBean {private long code;private String message;private Object object;public static RespBean success() {return new RespBean(RespBeanEnum.SUCCESS.getCode(), RespBeanEnum.SUCCESS.getMessage(), null);}public static RespBean success(Object object) {return new RespBean(RespBeanEnum.SUCCESS.getCode(), RespBeanEnum.SUCCESS.getMessage(), object);}public static RespBean error(RespBeanEnum respBeanEnum) {return new RespBean(respBeanEnum.getCode(), respBeanEnum.getMessage(), null);}public static RespBean error(RespBeanEnum respBeanEnum, Object object) {return new RespBean(respBeanEnum.getCode(), respBeanEnum.getMessage(), object);}public RespBean(long code, String message, Object object) {this.code = code;this.message = message;this.object = object;}public RespBean(){}public long getCode() {return code;}public void setCode(long code) {this.code = code;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public Object getObject() {return object;}public void setObject(Object object) {this.object = object;}
}

其中返回代码和信息是自定义一个枚举类实现的,用于优雅的处理全局异常信息,其类代码如下:

package com.example.seckilldemo.vo;import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;/*** @Author wuyifan* @Date 2024/4/22 16:17* @Version 1.0*/
@ToString
@Getter
@AllArgsConstructor
public enum RespBeanEnum {//通用SUCCESS(200, "SUCCESS"),ERROR(500, "服务端异常"),//登录模块LOGIN_ERROR(500210, "用户名或者密码不正确"),MOBILE_ERROR(500211, "手机号码格式不正确"),BIND_ERROR(500212, "参数校验异常"),MOBILE_NOT_EXIST(500213, "手机号码不存在"),PASSWORD_UPDATE_FAIL(500214, "更新密码失败"),SESSION_ERROR(500215, "用户SESSION不存在"),//秒杀模块EMPTY_STOCK(500500, "库存不足"),REPEATE_ERROR(500501, "该商品每人限购一件"),REQUEST_ILLEGAL(500502, "请求非法,请重新尝试"),ERROR_CAPTCHA(500503, "验证码错误,请重新输入"),ACCESS_LIMIT_REACHED(500504, "访问过于频繁,请稍后重试"),//订单模块5003xxORDER_NOT_EXIST(500300, "订单不存在"),;private final Integer code;private final String message;public Integer getCode() {return code;}public String getMessage() {return message;}
}

最后:介绍本项目使用上述枚举类封装一个优雅的 Spring Boot 全局异常处理的过程。
即使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常:

  1. 新建异常信息实体类(即RespBean )
  2. 自定义异常类型。
    一般我们处理的都是 RuntimeException ,所以如果你需要自定义异常类型的话直接集成这个类就可以了。
package com.example.seckilldemo.exception;import com.example.seckilldemo.vo.RespBean;
import com.example.seckilldemo.vo.RespBeanEnum;/*** 全局异常** @author: wuyifan* @date 2024/5/2 5:32 下午* @ClassName: GlobalException*/
public class GlobalException extends RuntimeException {private RespBeanEnum respBeanEnum;public RespBeanEnum getRespBeanEnum() {return respBeanEnum;}public void setRespBeanEnum(RespBeanEnum respBeanEnum) {this.respBeanEnum = respBeanEnum;}public GlobalException(RespBeanEnum respBeanEnum) {this.respBeanEnum = respBeanEnum;}
}
  1. 新建异常处理类
    我们只需要在类上加上@ControllerAdvice注解这个类就成为了全局异常处理类,当然你也可以通过 assignableTypes指定特定的 Controller 类,让异常处理类只处理特定类抛出的异常。
package com.example.seckilldemo.exception;import com.example.seckilldemo.vo.RespBean;
import com.example.seckilldemo.vo.RespBeanEnum;
import org.springframework.validation.BindException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;/*** 全局异常处理类** @author: wuyifan* @date 2024/5/2 5:33 下午* @ClassName: GlobalExceptionHandler*/
@RestControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)public RespBean ExceptionHandler(Exception e) {if (e instanceof GlobalException) {GlobalException exception = (GlobalException) e;return RespBean.error(exception.getRespBeanEnum());} else if (e instanceof BindException) {BindException bindException = (BindException) e;RespBean respBean = RespBean.error(RespBeanEnum.BIND_ERROR);respBean.setMessage("参数校验异常:" + bindException.getBindingResult().getAllErrors().get(0).getDefaultMessage());return respBean;}
//        System.out.println("异常信息" + e);return RespBean.error(RespBeanEnum.ERROR);}
}

这样使用枚举类优雅的封装异常信息,通过自定义异常类型,最后交给全局异常类处理就可以啦啦啦啦啦!

http://www.yayakq.cn/news/640499/

相关文章:

  • 常见的微网站平台有哪些管理咨询公司企业文化
  • 建设银行网站用户名怎么查创意字体设计网站
  • 展示型企业网站开发哈尔滨专业网站建设公司
  • 自适应网站制作十堰响应式网站
  • 找个网站这么难2021Wordpress 菜单 增加登陆
  • 墟沟企业建站价格表网络营销课程培训价格
  • 做网站要什么资料竞价网络推广培训
  • 婚恋网站女孩子都是做美容济南网络营销外包服务
  • 莆田网站关键词优化阿里巴巴做国际网站多少钱
  • 网站建设制作服务网站域名在哪里注册
  • 用php做图书管理网站php用户管理系统
  • 网站内外链接怎么做淘宝网页怎么制作
  • 网站内链有什么用软件项目管理的过程
  • 网站和域名区别吗包头公司注册
  • 国内设计师个人网站欣赏天元建设集团有限公司设计研究院征求意见
  • 各种网站推广是怎么做的整站seo包年费用
  • 微信属于营销型网站wordpress主题删不掉
  • 晋中建设局查合同网站排行榜
  • 海南省住房和城乡建设厅官网网站服务器iis做网站
  • 营销型网站建设营销型网站建设广东个人备案网站内容
  • 网站建设的一些原理如何做网站流程图
  • 免费的网站代码做免费看电影的网站不违法吗
  • 合肥做网站推广哪家好wordpress 0day
  • 仿素材下载网站源码装修公司名字
  • 网站打开速度与服务器网站打不开怎么处理
  • 网站建设费如何入账wordpress远程代码执行
  • 青岛营销型网站推广网站域名登记证明
  • 做二手手机的网站有哪些熊猫代理ip
  • 中国河北网站介绍西安网页设计
  • 下做图软件在哪个网站下载两学一做 投稿网站