- Remove invalid Maven repositories
- Add the Kotlin kapt plugin
- Modify the version number increment rule
- Update the submodule name and structure
- Adjusted the inclusion of the internationalization (i18n) and trace modules
- Remove references to common modules
- Added I18nKeyGenPlugin Gradle plugin for generating internationalization key files - Refactoring the internationalization module to separate the API and implementation code
- Updated the project structure to create new submodules to support internationalization
- Modify the build configuration to add the necessary dependencies and properties
- Migrated the RequestIdProvider interface from the forgeboot-common-result module to the forgeboot-trace-api module
- Refactored the TraceAutoConfiguration class to use a new package structure
- Create the forgeboot-trace-api, forgeboot-trace-autoconfigure, and forgeboot-trace-impl modules
- Update the location of the relevant classes and files to accommodate the new module structure
- Add the apiSuffix property to configure the API suffix
- Update VersionAutoConfiguration and ApiVersionRequestMappingHandlerMapping to support the new configuration
- Optimized the version mapping logic to support the combination of prefix and suffix
- Adjust the VersionAutoConfiguration class to move dependency injection into the method parameters
- Add Int.MIN_VALUE as the priority of the API version request mapping, ensuring that it is higher than the default mapping
- Change the configuration prefix of VersionProperties to "forgeboot.version"
- After you create an ApiVersionRequestMappingHandlerMapping instance, assign it to the mapping variable
- This change may help to better manage request mapping, handler mapping, and improve maintainability of your code
- Inject VersionProperties and CorsConfigurationSource in VersionAutoConfiguration
- Updated the apiVersionRequestMappingHandlerMapping method to add support for cross-origin configuration
- Remove unnecessary comments from R classes
- Removed unnecessary comments and redundant code
- Optimized how success and failure response objects are created - added a new extension field extra to save extension information
- Implemented the toMutableFlatMap and toFlatMap methods to convert the response object to Map
- Refactored the way ResultExtender is used to improve scalability
- Removed the responseI8nMessageArgs property that was not used in the ResponseInformation interface
- In the R.kt file, rename the args parameter to i18bArgs to improve code readability and consistency
- Updated related function calls, using the new i18bArgs parameter
- Add forgeboot-common result processing related submodules - Implement unified response encapsulation class R and related interfaces
- Integrated international message parsing and request ID generation function
- Update project configuration to support the construction and release of new modules
- Implement RequestIdUtil tool class generation and storage request ID
- Add TraceAutoConfiguration Automatic Configuration Class
- Implementing RequestIdFilter and ReactiveRequestIdFilterRequestIdInterceptor interceptor support Feign clients
-Filter
- Add Feign to implement WebClientRequestIdFilter to support WebClient
- Add RequestIdTaskDecorator Decorator to support asynchronous thread pooling
- Added Request extension function to determine whether requests are skipped
- Add .gitattributes files, set file line breaks and binary files to handle - Create .gitignore files, ignore unnecessary project files and directories
- Create a new build.gradle.kts file, configure root project properties and dependencies
- Delete API dependencies in modules such as forgeboot-core, forgeboot-i18n
- Add submodule dependencies in the root project
- Optimize settings.gradle.kts, add forgeboot-webflux module
Make sure it executes before all other request mapping handlers by setting the order property of ApiVersionRequestMappingHandlerMapping to Int.MIN_VALUE. This ensures that version control requests are processed first, and improves the system's response speed and efficiency.
- Added USE_CONFIGURATION_PROCESSOR project flag
- Add API dependency to Core.EXTENSION in forgeboot-core
- Rename the I18nProperties file and convert it to Java class
- Update forgeboot-i18n dependency and add configuration processor
- Add spring-boot-configuration-processor dependency in libs.versions.toml
- Update root project configuration, support configuration processor
- Convert the I18nBaseException class from a Java file to a Kotlin file
- Optimized Kotlin syntax for class definitions and constructors
- Use val to get property values
- Added @Transient annotation to replace transient keywords in Java
- Added I18nProperties configuration class to define international related properties
- Implement I18nAutoConfiguration automatic configuration class, providing international message sources and local resolvers
- Added the I18nWebConfiguration configuration class to register language switching interceptors
- Added InternalInformation and ResponseInformation interfaces to extend and provide international information to the outside world
- Implement I18nBaseException class to handle internationalization-related exceptions
- Add ReactiveLocaleResolver filter to parse language information in WebFlux requests
- Create a WebFluxLocaleResolver interface to define a local resolver for WebFlux type
- Updated project
- Added MethodRecording annotation to record method execution information
- Implement MethodRecordingAspect for method recording
- Add LoggerAutoConfiguration Automatic Configuration Class
- Introduce CoroutineLogger coroutine log object - Update dependencies and configure Spring Boot AOP
- Added forgeboot-core module, including core extension functions
-Refactor the forgeboot-webmvc module and change it to Spring Boot Starter structure - Update project configuration and dependencies - Add log extension function
- Added ApiVersion annotations for version control of controllers and methods - Implement VersionAutoConfiguration automatic configuration class
- Add ApiVersionRequestMappingHandlerMapping to handle version mapping
- Update build configuration, support Spring Boot and version control
- Added Git-related configuration files
- Create project build scripts and configuration files
- Define module paths and project flags
- Set up Kotlin and Spring Boot plugins - Configure Maven publishing and semantic versioning plugins
- Add a source code packaging task
- Set up the project dependency repositories
- Initialize gradle-wrapper