Java springboot 发送请求,遇到404的场景后,直接返回/error
时间: 2024-10-24 20:17:35 浏览: 33
java http token请求代码实例
5星 · 资源好评率100%
在Java Spring Boot应用中,当发送HTTP请求遇到404 Not Found错误时,通常表示服务器无法找到请求的资源。为了实现这个自定义处理并返回一个统一的错误页面,比如`/error`,你可以通过创建一个全局异常处理器(Global Exception Handler)来完成。这里是一个简单的步骤:
1. 首先,创建一个控制层类,例如`ErrorController.java`:
```java
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@ControllerAdvice
public class ErrorController {
@ExceptionHandler(value = {NotFoundException.class})
public ResponseEntity<String> handleNotFoundException(NotFoundException e) {
return new ResponseEntity<>("Resource not found", HttpStatus.NOT_FOUND).build();
}
// 如果需要处理其他HTTP状态码,可以添加更多@ExceptionHandler方法
}
```
在这个例子中,我们假设已经定义了`NotFoundException`作为404错误的自定义异常。
2. 接着,在配置类中启用全局异常处理:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Autowired
private PathMatchConfigurer pathMatchConfigurer;
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.setUseTrailingSlashForSinglePath(true);
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable(); // 启用默认Servlet处理非控制器请求
}
}
```
这样,当你应用中的任何地方抛出`NotFoundException`时,Spring Boot会自动将错误映射到`/error`路径,并返回预定义的响应体。
阅读全文