首先从
swagger-bootstrap-ui-demo: knife4j 以及swagger-bootstrap-ui 集成框架示例项目
找到knife4j-spring-boot-demo
运行看看效果
然后把相关的内容复制到自己项目
效果就是没有效果
直接给出结论:少复制了
com.swagger.bootstrap.ui.demo.config.SwaggerConfiguration
简化一下,其实也就一行代码起作用
public class Knife4jConfigPlugin {
public static void knifeDocket(Docket docket,OpenApiExtensionResolver openApiExtensionResolver,String groupName) {
//docket.enableUrlTemplating(false)
docket.extensions(openApiExtensionResolver.buildExtensions(groupName));
}
}
分析过程如下
debug 看看
怀疑参数没有传到页面
复制knife4j-spring-ui 到自己的项目进行调试
@RestController public class WebController { @RequestMapping(value="/knife4j/swagger-resources" , method = RequestMethod.GET) public void swaggerResources(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.getRequestDispatcher("/swagger-resources").forward(request,response); } @RequestMapping(value="/knife4j/v2/api-docs" , method = RequestMethod.GET) public void apidocs(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.getRequestDispatcher("/v2/api-docs").forward(request,response); } }app.23f8b31d.js 中 alert
访问 http://localhost:8001/knife4j/doc.html
果然没有
复制这个(SwaggerConfiguration)到自己项目
最终效果



