@ControllerAdvice是一个注解,用于全局处理异常。
@ExceptionHandler是一个注释,用于处理特定异常并将自定义响应发送到客户端。使用以下代码创建@ControllerAdvice类来全局处理异常 -
import org.springframework.web.bind.annotation.ControllerAdvice;
@ControllerAdvice
public class ProductExceptionController {
}
定义一个扩展RuntimeException类的子类。
public class ProductNotfoundException extends RuntimeException {
private static final long serialVersionUID = 1L;
}
可以定义@ExceptionHandler方法来处理异常,如图所示。此方法应用于编写Controller Advice类文件。
@ExceptionHandler(value = ProductNotfoundException.class)
public ResponseEntity<Object> exception(ProductNotfoundException exception) {
}
现在,使用下面给出的代码从API中抛出异常。
@RequestMapping(value = "/products/{id}", method = RequestMethod.PUT)
public ResponseEntity<Object> updateProduct() {
throw new ProductNotfoundException();
}
现在点击 POSTMAN 应用程序中的URL,更新URL为 : http://localhost:8080/products/3 , 可以看到如下输出 -
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有