瑞安电影城网站建设,公司网站建设介绍,金华建设局网站,金坛市住房和城乡建设局 网站knife4j
文档地址#xff1a;https://doc.xiaominfo.com/
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案。
Swagger介绍
前后端分离开发模式中#xff0c;api文档是最好的沟通方式。
Swagger 是一个规范和完整的框架#xff0c;用于生成、描述、调用和…knife4j
文档地址https://doc.xiaominfo.com/
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案。
Swagger介绍
前后端分离开发模式中api文档是最好的沟通方式。
Swagger 是一个规范和完整的框架用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
1、及时性 (接口变更后能够及时准确地通知相关前后端开发人员)
2、规范性 (并且保证接口的规范性如接口的地址请求方式参数及响应格式和错误信息)
3、一致性 (接口信息一致不会出现因开发人员拿到的文档版本不一致而出现分歧)
4、可测性 (直接在接口文档上进行测试以方便理解业务)
集成knife4j
1 添加依赖
dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-spring-boot-starter/artifactId
/dependency2 添加knife4j配置类
/*** knife4j配置信息*/
Configuration
EnableSwagger2WebMvc
public class Knife4jConfig {Beanpublic Docket adminApiConfig(){ListParameter pars new ArrayList();ParameterBuilder tokenPar new ParameterBuilder();tokenPar.name(token).description(用户token).defaultValue().modelRef(new ModelRef(string)).parameterType(header).required(false).build();pars.add(tokenPar.build());//添加head参数endDocket adminApi new Docket(DocumentationType.SWAGGER_2).groupName(adminApi).apiInfo(adminApiInfo()).select()//只显示admin路径下的页面.apis(RequestHandlerSelectors.basePackage(com.xxx)).paths(PathSelectors.regex(/admin/.*)).build().globalOperationParameters(pars);return adminApi;}private ApiInfo adminApiInfo(){return new ApiInfoBuilder().title(后台管理系统-API文档).description(本文档描述了后台管理系统微服务接口定义).version(1.0).contact(new Contact(, http://.com, qq.com)).build();}}3 Controller层添加注解
Api(tags 角色管理)
RestController
RequestMapping(/admin/system/sysRole)
public class SysRoleController {Autowiredprivate SysRoleService sysRoleService;ApiOperation(value 获取全部角色列表)GetMapping(findAll)public ResultListSysRole findAll() {ListSysRole roleList sysRoleService.list();return Result.ok(roleList);}
}4、测试 http://localhost:端口号/doc.html 注意若报错 Failed to start bean documentationPluginsBootstrapper; nested exception is java.lang.NullPointerException 参考链接整合Knife4j报错Failed to start bean ‘documentationPluginsBootstrapper‘ nested exception is java.lang.N