# extend-controller-boot-starter
**Repository Path**: hddara/extend-controller-boot-starter
## Basic Information
- **Project Name**: extend-controller-boot-starter
- **Description**: 针对于spring boot 2 实现 Controller 插件式扩展。
1、可以实现自定义全局接口注入;
2、可以通过Entity直接生成接口(不用写Controller、Service、Mapper等层级实现一键直达数据库)
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-06-14
- **Last Updated**: 2024-06-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 基于Spring的Controller插件式扩展
## 项目简介
- 本项目创建目的:为了方便扩展通用接口,如分页、列表、详情、删除、下载等公共接口。
### 注意事项:
- 有效版本从 1.0.1 开始(1.0.0有历史遗留问题)
- 如果需要使用内置的 CRUD插件 进行数据库查询,则需要依赖MybatisPlus,且需要实现Mapper才能被识别
## 使用方法
### 引入依赖
注:最新版本[查看Maven Central](https://central.sonatype.com/artifact/io.gitee.hddara/extend-controller-boot-starter)
```xml
io.gitee.hddara
extend-controller-boot-starter
1.0.1
```
### 插件配置
注:如开启内置CRUD插件,详见[CrudControllerPlugin.java](src%2Fmain%2Fjava%2Fcn%2Fhddara%2Fextend%2Fcontroller%2Fplugins%2FCrudControllerPlugin.java)
内置CRUD插件依赖与MybatisPlus
```java
@Configuration
public class ExtendApiConfig {
@Bean
public ExtendPluginConfig myExtendPluginConfig() {
return ExtendPluginConfig.defaultConfig()
.enableDefaultCrudPlugin(true) // 开启内置的 CRUD 插件,详情见
.addPlugins(new ExampleControllerPlugin()); // 添加示例插件
}
}
```
### 开启使用
#### 1、在Controller中使用
```java
@RestController
@RequestMapping({"/demo"})
@WebExtendApi(entityType = Demo.class) // 可忽略RequestMapping 配置,默认取@RequestMapping注解值
public class RuleDamageController {
// 两种特殊情况
// 当存在与插件相同的函数名称和参数结构时,以当前为准
@ResponseBody
@GetMapping("page")
public ResponseEntity