@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 <T> ResultPage<T> sucess(CodeMsg codeMsg,T data){
return new ResultPage<T>(codeMsg.getCode(),codeMsg.getMsg(),data);
}
//失败的时候调用
public static <T> ResultPage<T> error(CodeMsg codeMsg){
return new ResultPage<T>(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<String, Object> 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)