java springBoot项目smart-doc生成api文档
原创 echojava 发表于:2020-04-02 14:16:57
  阅读 :401   收藏   编辑

gitee地址: smart-doc

添加pom依赖

<dependency>
    <groupId>com.github.shalousun</groupId>
    <artifactId>smart-doc</artifactId>
    <version>1.8.2</version>
</dependency>

新增java类

特别注意 outpath的值,我的总项目是一个pom,里面新增了好多模块,下面的这个类在“smd_sersver”子项目中

public class GenApiDoc  {

    public static  void  main(String[] args){
        genApiDoc();
        System.out.println("gen ok...");
    }

    /**
     * 生成api
     */
    public static  void genApiDoc(){
		
			 //config.setOutPath("d:/md/");
			 
        String outpath = "."
                + DocGlobalConstants.FILE_SEPARATOR
                + "smd_sersver"  //这里写子项目名称,因为我的项目子父依赖的,在server子项目执行的这个类
                + DocGlobalConstants.FILE_SEPARATOR
                + DocGlobalConstants.HTML_DOC_OUT_PATH;

        ApiConfig config = new ApiConfig();
        config.setProjectName("API Doc"); 

        config.setStrict(true);
        config.setAllInOne(true);
        config.setShowAuthor(true);
        config.setOutPath(outpath);

        //生成html时加密文档名不暴露controller的名称
        config.setMd5EncryptedHtmlName(true);
        config.setCoverOld(true);
        //是否显示接口作者 默认true
        config.setShowAuthor(true);
        //扫码controller包,
        config.setPackageFilters("com.xx"); 

				//数据字典
        config.setDataDictionaries(
                ApiDataDictionary.dict().setTitle("状态码").setEnumClass(StatusEnum.class)
                        .setCodeField("key")
                        .setDescField("value"),
             
        );

        config.setSourceCodePaths(SourceCodePath.path().setPath("." + DocGlobalConstants.FILE_SEPARATOR ));
        HtmlApiDocBuilder.buildApiDoc(config);


    }

效果图

smartdoc.png