企业级实战!Springboot集成自定义异常类,腾讯Java面试流程

@Data//set get 等方法
@AllArgsConstructor
@NoArgsConstructor
public class ResultPage {

// 状态码
private Integer code;
// 消息提示
private String msg;
// 存放的数据
private T data;

ResultPage(Integer code,String msg) {
    this.code=code;
    this.msg=msg;
    this.data=data;
}

// 成功的时候调用
public static  ResultPage sucess(CodeMsg codeMsg,T data){
    return new ResultPage(codeMsg.getCode(),codeMsg.getMsg(),data);
}

//失败的时候调用
public static  ResultPage error(CodeMsg codeMsg){
    return new ResultPage(codeMsg.getCode(),codeMsg.getMsg());
}

}


**2.5 异常捕获**

/*

  • @Author lsc

  • @Description

    异常捕获

  • @Date 2019/10/9 20:42

  • @Param

  • @return
    **/
    @ControllerAdvice
    @Configuration
    public class CommonExceptionHandler {

    // 捕获CommonException异常
    @ExceptionHandler(value = CommonException.class)
    @ResponseBody
    public ResponseEntity CommonExceptionHandler(CommonException e){
    // 获得异常消息
    CodeMsg codeMsg = e.getCodeMsg();
    // 设置错误消息页面返回
    return ResponseEntity.status(HttpStatus.OK).body(ResultPage.error(codeMsg));
    }

    // 下面还可以自定义捕获其他异常比如 非法参数异常 运算异常 等等…

}


**2.6 controller层**

/**

  • @Author lsc

  • @Description

    控制层

  • @Date 2019/10/9 20:57

  • @Version 1.0
    */
    @RestController
    public class YouKu1327Controller {

    @GetMapping("/youku1327/api/excetion")
    public ResultPage testException(){
    // 示范 抛出自定义异常
    throw new CommonException(CodeMsg.Request_Error);
    }
    /*

    • @Author lsc
    • @Description

      成功消息

    • @Date 2019/10/9 21:21
    • @Param []
    • @return org.springframework.http.ResponseEntity
      **/
      @GetMapping("/youku1327/api/sucess")
      public ResponseEntity testSucess(){
      ArrayList list = new ArrayList<>();
      HashMap hashMap = new HashMap<>();
      hashMap.put(“youku1327”,“欢迎关注博客和微信号”);
      list.add(hashMap);
      return ResponseEntity.ok().body(ResultPage.sucess(CodeMsg.SUCESS,list));
      }
      }

**2.7 启动类**

/**

  • @Author lsc

  • @Description

    自定义异常启动类

  • @Date 2019/10/9 20:56

  • @Version 1.0
    */
    @SpringBootApplication
    public class ExceptionApplication {

    public static void main(String[] args) {
    SpringApplication.run(ExceptionApplication.class,args);
    }
    }


# 三、启动项目页面请求测试



### 最后

**[给大家送上一份福利,领取方式:戳这里免费下载](https://gitee.com/vip204888/java-p7)**

**Java架构进阶面试及知识点文档笔记**

> **这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理**

![image](https://img-blog.csdnimg.cn/img_convert/07664275bec47b96fa7a378f451d7f98.png)

**Java分布式高级面试问题解析文档**

**其中都是包括分布式的面试问题解析,内容有**分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!

![image](https://img-blog.csdnimg.cn/img_convert/9897b5d626494ea2d6ebbc40ef2f5056.png)

**互联网Java程序员面试必备问题解析及文档学习笔记**

![image](https://img-blog.csdnimg.cn/img_convert/f0fdb45ffb6b34fe0f47fc4fd78a4281.png)

**Java架构进阶视频解析合集**

[外链图片转存中...(img-uQyjL3hR-1628396249985)]

**互联网Java程序员面试必备问题解析及文档学习笔记**

[外链图片转存中...(img-kKTxJ4cb-1628396249987)]

**Java架构进阶视频解析合集**

![image](https://img-blog.csdnimg.cn/img_convert/73307c55e7a0b21b45e11c65f312210f.png)

你可能感兴趣的:(程序员,后端,java,面试)