springboot 怎么设置Status Code、

2025-11-20 22:04:57

1、第一步:创建一个springboot项目,比如在idea里面创建,直接下一步下一步即可,如图:

springboot 怎么设置Status Code、

2、第二步:创建一个全局异常类,代码如下:

@RestControllerAdvice


public class ControllerExceptionHandleAdvice {
   private final static Logger logger = LoggerFactory.getLogger(ControllerExceptionHandleAdvice.class);
   @ExceptionHandler
   public String handler(HttpServletRequest req, HttpServletResponse res, Exception e) {
   }
}

springboot 怎么设置Status Code、

3、第三步:写入正确的返回码,比如返回200就是正常,代码如下:

Map<String, String[]> parameterMap = req.getParameterMap();


e.printStackTrace();
if (res.getStatus() == HttpStatus.BAD_REQUEST.value()) {
   logger.info("修改返回状态值为200");
   res.setStatus(HttpStatus.OK.value());
}

springboot 怎么设置Status Code、

4、第四步:自定义错误的状态码,根据异常类型添加,代码如下:

if (e instanceof NullPointerException) {


   logger.error("代码00:" + e.getMessage(), e);
   return JSON.toJSONString(ResultEntity.fail("发生空指针异常"));
}  else {
  e.printStackTrace();
   logger.error("代码99:" + e.getMessage());
   return JSON.toJSONString(ResultEntity.fail("服务器代码发生异常,请联系管理员"));
}

springboot 怎么设置Status Code、

5、第五步:ResultEntity实体类代码如下:

/**


* @param string
* @return
*/
public static ResultEntity fail(String string) {
  ResultEntity resultEntity = new ResultEntity();
  resultEntity.mesage = string;
  resultEntity.status = false;
  resultEntity.code = 500;
  return resultEntity;
}

springboot 怎么设置Status Code、

6、第六步:全部代码如下:

@RestControllerAdvice


public class ControllerExceptionHandleAdvice {
   private final static Logger logger = LoggerFactory.getLogger(ControllerExceptionHandleAdvice.class);
   @ExceptionHandler
   public String handler(HttpServletRequest req, HttpServletResponse res, Exception e) {
       logger.info("Restful Http请求发生异常...{},{}",req.getRequestURL());
       Map<String, String[]> parameterMap = req.getParameterMap();
       e.printStackTrace();
       if (res.getStatus() == HttpStatus.BAD_REQUEST.value()) {
           logger.info("修改返回状态值为200");
           res.setStatus(HttpStatus.OK.value());
       }
       if (e instanceof NullPointerException) {
           logger.error("代码00:" + e.getMessage(), e);
           return JSON.toJSONString(ResultEntity.fail("发生空指针异常"));
       }
       else {
          e.printStackTrace();
           logger.error("代码99:" + e.getMessage());
           return JSON.toJSONString(ResultEntity.fail("服务器代码发生异常,请联系管理员"));
       }
   }
}

springboot 怎么设置Status Code、

7、第七步:启动项目后,就会看到所有返回都被截获了,如图:

springboot 怎么设置Status Code、

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢