gpt4 book ai didi

java - 我们可以使用 Exception 类处理 HttpRequestMethodNotSupportedException

转载 作者:太空宇宙 更新时间:2023-11-04 10:24:40 25 4
gpt4 key购买 nike

我正在尝试在 Spring Boot 应用程序中实现异常处理。在这里,我使用 Exception.class 处理所有异常。我有一个问题:此方法可以处理 HttpRequestMethodNotSupportedException 吗?如果是,那么当我尝试从 postman 那里访问错误的方法时,我没有得到任何响应(默认以及我的响应)。

使用以下方法,我可以处理 NullPointerExceptionDataRetrievalFailureException 等,但无法处理 HttpRequestMethodNotSupportedException

RestExceptionHandler

import com.spacestudy.model.ExceptionMessage;

import javax.servlet.http.HttpServletResponse;

import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;

@Order(Ordered.HIGHEST_PRECEDENCE)
@ControllerAdvice
public class RestExceptionHandler extends ResponseEntityExceptionHandler {


@ExceptionHandler(Exception.class)
public ResponseEntity<ExceptionMessage> handleAllExceptionMethod(Exception ex,WebRequest requset,HttpServletResponse res) {


ExceptionMessage exceptionMessageObj = new ExceptionMessage();

exceptionMessageObj.setStatus(res.getStatus());
exceptionMessageObj.setError(ex.getLocalizedMessage());
exceptionMessageObj.setException(ex.getClass().getCanonicalName());
exceptionMessageObj.setPath(((ServletWebRequest) requset).getRequest().getServletPath());

return new ResponseEntity<ExceptionMessage>(exceptionMessageObj, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR);
}

最佳答案

来自 https://docs.spring.io/autorepo/docs/spring-framework/3.2.8.RELEASE/javadoc-api/org/springframework/web/HttpRequestMethodNotSupportedException.html您可以看到 HttpRequestMethodNotSupportedExceptionjava.lang.Exception 作为父级,因此您的异常处理程序也会处理它。顺便说一句,您可以通过在仅支持 GET 请求的 URL 上发送 POST 请求来轻松进行手动测试

关于java - 我们可以使用 Exception 类处理 HttpRequestMethodNotSupportedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50681566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com