+ * 调整异常处理的HTTP状态码,丰富异常处理类型
+ *
+ * @author Gadfly
+ * @since 2020-02-25 13:54
+ **/
+@RestControllerAdvice
+@Slf4j
+public class GlobalExceptionHandler {
+
+ @ExceptionHandler(BindException.class)
+ @ResponseStatus(HttpStatus.BAD_REQUEST)
+ public
+ * 修改 Redis 序列化方式,默认 JdkSerializationRedisSerializer
+ *
+ * @param redisConnectionFactory {@link RedisConnectionFactory}
+ * @return {@link RedisTemplate}
+ */
+ @Bean
+ public RedisTemplate
+ * Spring Doc FAQ: https://springdoc.org/#faq
+ *
+ * @author haoxr
+ * @date 2023/2/17
+ */
+@Configuration
+public class SwaggerConfig {
+
+ /**
+ * 接口信息
+ */
+ @Bean
+ public OpenAPI apiInfo() {
+ return new OpenAPI()
+ .components(new Components()
+ .addSecuritySchemes("Authorization",
+ new SecurityScheme().type(SecurityScheme.Type.HTTP)
+ .scheme("bearer").bearerFormat("JWT")
+ )
+ )
+ .info(new Info()
+ .title("datao-admin 接口文档")
+ .version("2.0.0")
+ .description("接口文档")
+ .license(new License().name("Apache 2.0")
+ .url("https://www.youlai.tech"))
+ );
+ }
+
+ /**
+ * 接口分组-系统接口
+ *
+ * @return
+ */
+ @Bean
+ public GroupedOpenApi groupedOpenApi() {
+ String paths[] = {"/api/**"};
+
+ String packagesToScan[] = {"com.datao.admin.controller"};
+ return GroupedOpenApi.builder().group("系统接口")
+ .packagesToScan(packagesToScan)
+ .pathsToMatch(paths)
+ .build();
+ }
+
+
+
+
+
+
+
+}
diff --git a/src/main/java/com/datao/admin/config/WebMvcConfig.java b/src/main/java/com/datao/admin/config/WebMvcConfig.java
new file mode 100644
index 0000000..18923b2
--- /dev/null
+++ b/src/main/java/com/datao/admin/config/WebMvcConfig.java
@@ -0,0 +1,60 @@
+package com.datao.admin.config;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
+import jakarta.validation.ValidatorFactory;
+import lombok.extern.slf4j.Slf4j;
+import org.hibernate.validator.HibernateValidator;
+import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.StringHttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.validation.beanvalidation.SpringConstraintValidatorFactory;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import java.math.BigInteger;
+import java.text.SimpleDateFormat;
+import java.util.List;
+import java.util.TimeZone;
+
+@Configuration
+@Slf4j
+public class WebMvcConfig implements WebMvcConfigurer {
+
+ @Override
+ public void configureMessageConverters(List> listDepartments(
+ @ParameterObject DeptQuery queryParams
+ ) {
+ List
> listDeptOptions() {
+ List