Operational information for packaging processing
Result.java
package com.zhshhypt.util;
/**
* @Description:对返回结果进行分装
* @Author: cyz
* @Date: 2021/6/15 0015
*/
public class Result {
public static String ERROR_CODE="400";
public static String SUCCESS_CODE="200";
public String msg="操作成功!";
public String status=SUCCESS_CODE;
public Object data=null;
public Result() {
}
//成功返回状态,消息,数据
public static Result ok(Object data){
return new Result("操作成功!","200",data);
}
//失败返回消息和状态
public static Result fail(String msg){
msg="操作失败!";
return new Result(msg,ERROR_CODE,null);
}
//构造只返回状态和消息
public Result(String msg, String status) {
this.msg = msg;
this.status = status;
}
//构造返回消息状态数据
public Result(String msg, String status, Object data) {
this.msg = msg;
this.status = status;
this.data = data;
}
public String getMsg() {
return msg;
}
public String getStatus() {
return status;
}
public Object getData() {
return data;
}
public void setMsg(String msg) {
this.msg = msg;
}
public void setStatus(String status) {
this.status = status;
}
public void setData(Object data) {
this.data = data;
}
}
Controller layer
/**
* <p>
* 前端控制器
* </p>
*
* @author jobob
* @since 2021-05-29
*/
@RestController
@RequestMapping("/teach")
public class TeachController extends BaseControl {
@Resource
private ITeachService iTeachService;
@RequestMapping(value = "/getData")
public Result getData() {
List<Teach> list = iTeachService.selectList(null);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(1/0);//程序中会运行报错。则进行全局异常拦截。
return Result.ok(jsonArray);
}
}
Handle exceptions (global configuration)
package com.zhshhypt.util;/**
* @description:
* @author: cyz
* @time: 2021/6/15 0015
*/
import com.zhshhypt.util.Result;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Description:控制类拦截异常处理
* @Author: cyz
* @Date: 2021/6/15 0015
*/
@ControllerAdvice
public class MyControllerAdvice {
@ExceptionHandler(RuntimeException.class)
@ResponseBody
public Result handle(RuntimeException exception){
return Result.fail(exception.getMessage());
}
}
Both the service layer and the mapper layer use mybatis-plus reverse engineering, and no redundant introduction will be given here;
the test is carried out by postman
.