同步操作将从 叶大侠/JApiDocs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
一个简单的示例。
JApiDocs 是一个符合 Java 编程习惯的 Api 文档生成工具。最大程度地利用 Java 的语法特性,你只管用心设计好接口,添加必要的注释,JApiDocs 会帮你导出一份漂亮的 Html 文档,并生成相关的 Java 和 Object-C 相关数据模型代码,从此,Android 和 IOS 的同学可以少敲很多代码了,你也不需要费力维护接口文档的变化,只需要维护好你的代码就可以了。
反馈交流Q群:70948803
@Deprecated
),方便的文档目录等。<dependency>
<groupId>io.github.yedaxia</groupId>
<artifactId>japidocs</artifactId>
<version>1.2</version>
</dependency>
compile 'io.github.yedaxia:japidocs:1.2.3'
我们以 spring 为例,一张图很容易就明白了 JApidocs 是怎么工作的了,你在设计接口的时候可以顺便就把相关的注释给填好了,这和 Java 程序员的编程习惯是保持一致的。
只有声明了 @ApiDoc 的接口才会导出文档。
@ApiDoc
是我们定义的一个 RetentionPolicy.SOURCE
注解,它不会给现有的代码造成任何的负担。另外 JApiDocs 是基于 Java 源码进行解析的,你可以不需要依赖我们的 Jar 包,在你自己的工程里面新建一个同名的类即可;但我推荐你还是引入 Jar 包,这样省事一些。
@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.METHOD})
public @interface ApiDoc {
/**
* result class
* @return
*/
Class<?> value() default Null.class;
/**
* result class
*/
Class<?> result() default Null.class;
/**
* request url
*/
String url() default "";
/**
* request method
*/
String method() default "get";
final class Null{
}
}
详细的使用请参考 SpringDemo
这个例子。
1. 代码模式
1)添加依赖,或者下载 jar 包到你的 libs 目录中。
compile 'io.github.yedaxia:japidocs:1.2'
2)设置好相关参数。
main:
Docs.DocsConfig config = new Docs.DocsConfig();
config.setProjectPath(projectPath);
Docs.buildHtmlDocs(DocsConfig config);
更多参数支持请参考 Docs.DocsConfig
;多模块项目目前是支持 maven 和 gradle 的,如果没有解析出来的话,可以通过 addJavaSrcPath
方法来添加。
2. 命令行模式:
下载all
包,然后在和这个jar
包相同目录下创建名称是docs.config
的配置文件,里面可以配置这几个参数:
# windows用户注意用双斜杠'\\'或者反斜杠'/'
projectPath = 工程目录(必须)
docsPath = 文档输出目录(非必须,默认是${projectPath}/apidocs)
codeTplPath = 代码模版目录 (非必须,如果你需要自定义生成的代码才会用到。)
mvcFramework = [spring, play, jfinal, generic](非必须,代码内部有判断,如果出现误判的情况,可以通过这个强制指定)
配置好之后,在命令行窗口用 cd
把当前目录换成 jar 包所在的目录,运行该jar
包就可以了。
java -jar ***-all.jar
你可以把工程里面相关的代码模板文件拷贝出来,然后在配置参数声明好该路径即可,具体的模板文件如下:
具体的集成请查看 Wiki
class UserVO{
BookVO book;
}
class BookKVO{
UserVO user;
}
tips:可以通过 @Ignore
注解忽略字段来解决这个问题。
@Override
public void configRoute(Routes me) {
me.add("/api/v1/user", UserController.class);
me.add("/api/v1/book", BookController.class);
me.add(new AmdinRoutes());
}
JApiDocs 是通过静态解析源码来工作的,所有的 JavaBean 类源码必须在项目中,不支持在 jar 包里面的对象类。
更多问题请参考:常见问题记录。
如果你在使用的过程中有碰到困难或者疑问,欢迎提 issue 和 PR。
如果你觉得这个项目有用,可以推荐给你的朋友。你的支持是我前进的动力!
我的个人博客:叶大侠的主页
JApiDocs is available under the Apache 2 License. Please see the Licensing section for more information.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。