// 引入必要的包
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
// 自定义异常处理器
@Controller
public class CustomErrorController implements ErrorController {
// 错误路径
private static final String ERROR_PATH = "/error";
// 处理错误请求
@RequestMapping(value = ERROR_PATH)
public String handleError() {
// 处理错误逻辑
return "error";
}
// 获取错误路径
@Override
public String getErrorPath() {
return ERROR_PATH;
}
}SpringBoot中使用AOP实现日志记录
// 引入必要的包
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
// AOP切面类
@Aspect
@Component
public class LogAspect {
// 前置通知
@Before("execution(* com.example.controller.*.*(..))")
public void logBefore(JoinPoint joinPoint) {
// 获取方法名
String methodName = joinPoint.getSignature().getName();
// 记录日志
System.out.println("开始调用方法:" + methodName);
}
// 后置通知
@AfterReturning(value = "execution(* com.example.controller.*.*(..))", returning = "result")
public void logAfterReturning(JoinPoint joinPoint, Object result) {
// 获取方法名
String methodName = joinPoint.getSignature().getName();
// 记录日志
System.out.println("方法:" + methodName + "调用成功,返回结果:" + result.toString());
}
}SpringBoot中使用Swagger2生成API文档
// 引入必要的包
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// API文档示例Controller
@Api(tags = "用户管理接口")
@RestController
@RequestMapping("/users")
public class UserController {
// 获取用户列表
@ApiOperation("获取用户列表")
@GetMapping("/")
public List getUsers() {
// 获取用户列表逻辑
return userService.getUsers();
}
// 获取用户详情
@ApiOperation("获取用户详情")
@GetMapping("/{id}")
public User getUser(@PathVariable("id") Long id) {
// 获取用户详情逻辑
return userService.getUserById(id);
}
}
以上是关于SpringBoot相关的几个示例,分别介绍了自定义异常处理器、AOP实现日志记录和Swagger2生成API文档的用法。这些功能在SpringBoot开发中非常常见,希望对你有帮助。