easy-openapi
介绍
简化openapi的使用(可以搭配knife4j-openapi2-spring-boot-starter或knife4j-openapi3-spring-boot-starter一起使用),当前基于jdk8和springboot2.X,点此处访问jdk21和springboot3.X的版本
maven引用
<dependency><groupId>io.github.xiaoyudeguang</groupId><artifactId>easy-openapi</artifactId><version>1.0.0</version>
</dependency><!--下面两个依赖任选其一-->
<!--openapi2-->
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version>
</dependency><!--openapi3-->
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-spring-boot-starter</artifactId><version>4.4.0</version>
</dependency>
在yml中添加配置
knife4j:enable: trueopenapi:title: Knife4j官方文档description: "`我是测试`,**你知道吗**# aaa"email: xiaoymin@foxmail.comconcat: 八一菜刀url: https://docs.xiaominfo.comversion: v4.0license: Apache 2.0license-url: https://stackoverflow.com/terms-of-service-url: https://stackoverflow.com/group:test1:group-name: 分组名称api-rule: packageapi-rule-resources:- com.example
接口添加文档注解
框架内置写法
import com.example.model.SysUser;
import com.example.service.UserService;
import com.xiaoyudeguang.annotations.RequestMapping;
import com.xiaoyudeguang.annotations.RestController;
import io.swagger.v3.oas.annotations.Parameter;
import org.springframework.web.bind.annotation.RequestParam;@RestController(value = "/user", tags = "用户接口", author = "赵光")
public class UserController {@Autowiredprivate SysUserService sysUserService;@RequestMapping(value = "/getUserByUserNo", summary = "根据用户编码查询用户")public BaseResult<SysUser> getUserByUserNo(@RequestParam(value = "userNo") @Parameter(description = "用户编码") String userNo) {return BaseResult.ok(sysUserService.getOne(SysUser::getUserNo, userNo));}
}
原生写法
import com.example.model.SysUser;
import com.example.service.UserService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@Tag(name = "用户接口")
@RestController
@RequestMapping(value = "/user")
public class UserController {@Autowiredprivate SysUserService sysUserService;@Operation(summary = "根据用户编码查询用户")@RequestMapping(value = "/getUserByUserNo")public BaseResult<SysUser> getUserByUserNo(@RequestParam(value = "userNo") @Parameter(description = "用户编码") String userNo) {return BaseResult.ok(sysUserService.getOne(SysUser::getUserNo, userNo));}
}