# request-spring-boot **Repository Path**: null_257_5769/request-spring-boot ## Basic Information - **Project Name**: request-spring-boot - **Description**: request-spring-boot-starter 对是一个 request/response,jdk8日期,跨域请求,国际化的增强包 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2019-02-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 `request-spring-boot-starter` 对是一个 `request/response` 的增强包,每个功能都是通过注解形式开启,不会有任何额外的影响开销 比如只想用日期格式化 `@EnableLocalDateTimeFormat` 即可,其它无关的 `Bean` 就不会被初始化,不会造成资源浪费 > 特点 - 使 `spring.jackson.date-format` 属性支持 `JDK8` 日期格式化 - 解决 `request.getInputStream()` 一次读取后失效痛点 - 国际化支持 - 全局跨域支持 # 使用方法 ``` xml com.battcn request-spring-boot-starter 1.0.7-RELEASE ``` > 注意事项 **如果你想使用 `EnableRedis` 相关组件,你需要额外依赖** ``` xml org.springframework.boot spring-boot-starter-data-redis ``` **如果你想使用 `EnableRequestWrapperFilter` 相关组件,你需要额外依赖** ``` xml commons-io commons-io 2.6 ``` **如果你想使用 `EnableXssFilter` 相关组件,你需要额外依赖** ``` xml org.apache.commons commons-text 1.6 ``` 在主函数(Application.java) 中添加相应注解即可 ``` java import com.battcn.boot.request.annotation.*; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author Levin */ @EnableI18n @EnableCorsFilter @EnableLocalDateTimeFormat @EnableRequestWrapperFilter @EnableRedisLock @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` ## 注解介绍 > @EnableXssFilter 添加对 XSS 攻击转义的支持 > @EnableRedisLimit 添加分布式限流的支持,在启动类上加上该注解即可,然后在请求的接口上面加上`@RedisLimit` > @EnableRedisLock 添加分布式锁的支持,在启动类上加上该注解即可,然后在请求的接口上面加上`@RedisLock` > @EnableI18n `I18N` 国际化支持 > @EnableCorsFilter 全局跨域支持 > EnableRequestWrapperFilter 继承 `HttpServletRequestWrapper` 实现`BodyCacheHttpServletRequestWrapper`,解决 `request.getInputStream()` 一次读取后失效痛点 > EnableLocalDateTimeFormat 使 `spring.jackson.date-format` 属性支持 `JDK8` 日期格式化