springboot自定义状态码
时间: 2023-05-08 12:58:54 浏览: 135
在开发过程中,我们常常需要自定义状态码,以更好地向客户端返回请求的结果。在SpringBoot中,我们可以轻松地自定义状态码,如下所述:
首先,我们需要创建一个自定义的异常类,继承RuntimeException类,并添加一个有参的构造方法,其中包含自定义的状态码和消息。例如:
public class MyException extends RuntimeException {
private Integer code;
private String message;
public MyException(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
@Override
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
然后,在Controller类中,我们可以使用@ExceptionHandler注解来捕获自定义异常,并将状态码和消息作为响应返回。例如:
@RestController
public class MyController {
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String test() {
throw new MyException(1001, "自定义异常错误信息");
}
@ExceptionHandler(MyException.class)
public ResponseEntity<Result<String>> handleMyException(MyException e) {
return ResponseEntity.status(e.getCode()).body(Result.error(e.getMessage()));
}
}
在上面的例子中,我们在test()方法中抛出了自定义异常,然后在handleMyException()方法中捕获该异常,并将状态码和消息作为响应返回。
总之,在SpringBoot中自定义状态码非常简单,我们只需创建一个继承RuntimeException的异常类,并在Controller中使用@ExceptionHandler注解来捕获自定义异常并返回响应即可。
阅读全文