介绍
简化springdoc的使用(可以搭配knife4j-openapi3-jakarta-spring-boot-starter一起使用)
maven引用
<dependency><groupId>io.github.xiaoyudeguang</groupId><artifactId>easy-springdoc</artifactId><version>1.0.0</version>
</dependency>
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>${knife4j-openapi3.version}</version>
</dependency>
在yml中添加配置
springdoc:api-docs:enabled: trueinfo:title: easy-springdoc 示例项目description: easy-springdocb 示例项目version: ${project.version}contact:name: 赵光email: 1316851612@qq.comlicense:name: Apache 2.0url: https://www.apache.org/licenses/LICENSE-2.0.htmlgroups:enabled: truegroup-configs:- group: demopaths-to-match: /user/**display-name: "用户接口"paths-to-exclude: /internal/**oauth2:client-id: oauth-client-idclient-secret: oauth-client-secretcache:disabled: falsewriter-with-default-pretty-printer: truewriter-with-order-by-keys: true
接口添加文档注解
框架内置写法
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));}
}