2020-08-21 23:08:04 +08:00
|
|
|
|
<h1 align="center">Smart-Doc Project</h1>
|
2020-08-29 17:07:41 +08:00
|
|
|
|
|
2020-08-29 17:03:48 +08:00
|
|
|
|
![maven](https://img.shields.io/maven-central/v/com.github.shalousun/smart-doc)
|
|
|
|
|
[![License](https://img.shields.io/badge/license-Apache%202-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
|
![number of issues closed](https://img.shields.io/github/issues-closed-raw/shalousun/smart-doc)
|
|
|
|
|
![closed pull requests](https://img.shields.io/github/issues-pr-closed/shalousun/smart-doc)
|
|
|
|
|
![java version](https://img.shields.io/badge/JAVA-1.8+-green.svg)
|
|
|
|
|
[![chinese](https://img.shields.io/badge/chinese-中文文档-brightgreen)](https://github.com/shalousun/smart-doc/blob/master/README_CN.md)
|
2020-08-21 23:08:04 +08:00
|
|
|
|
|
|
|
|
|
## Introduce
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
|
|
|
|
smart-doc is a tool that supports both JAVA REST API and Apache Dubbo RPC interface document generation. Smart-doc is
|
|
|
|
|
based on interface source code analysis to generate interface documents, and zero annotation intrusion. You only need to
|
|
|
|
|
write Javadoc comments when developing, smart-doc can help you generate Markdown or HTML5 document. smart-doc does not
|
|
|
|
|
need to inject annotations into the code like Swagger.
|
|
|
|
|
|
2021-11-04 23:31:31 +08:00
|
|
|
|
[quick start](https://smart-doc-group.github.io/#/)
|
2020-08-21 23:08:04 +08:00
|
|
|
|
## Features
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2020-10-18 22:27:15 +08:00
|
|
|
|
- Zero annotation, zero learning cost, only need to write standard JAVA document comments.
|
2020-08-21 23:08:04 +08:00
|
|
|
|
- Automatic derivation based on source code interface definition, powerful return structure derivation support.
|
2020-10-18 22:27:15 +08:00
|
|
|
|
- Support Spring MVC, Spring Boot, Spring Boot Web Flux (Not support endpoint), Feign.
|
2020-08-21 23:08:04 +08:00
|
|
|
|
- Supports the derivation of asynchronous interface returns such as Callable, Future, CompletableFuture.
|
2020-10-18 22:27:15 +08:00
|
|
|
|
- Support JSR-303 parameter verification specification.
|
2020-08-21 23:08:04 +08:00
|
|
|
|
- Support for automatic generation of request examples based on request parameters.
|
2020-10-18 22:27:15 +08:00
|
|
|
|
- Support for generating JSON return value examples.
|
2021-05-16 12:02:05 +08:00
|
|
|
|
- Support for loading source code from outside the project to generate field comments (including the sources jar
|
|
|
|
|
package).
|
2020-12-06 13:37:55 +08:00
|
|
|
|
- Support for generating multiple formats of documents: Markdown,HTML5,Asciidoctor,Postman Collection 2.0+,OpenAPI 3.0.
|
2020-08-21 23:08:04 +08:00
|
|
|
|
- Support for exporting error codes and data dictionary codes to API documentation.
|
2020-12-15 01:19:30 +08:00
|
|
|
|
- The debug html5 page fully supports file upload and download testing.
|
2020-08-21 23:08:04 +08:00
|
|
|
|
- Support Apache Dubbo RPC.
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2021-03-12 23:22:10 +08:00
|
|
|
|
## Best Practice
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
|
|
|
|
smart-doc + [Torna](http://torna.cn) form an industry-leading document generation and management solution, using
|
|
|
|
|
smart-doc to complete Java source code analysis and extract annotations to generate API documents without intrusion, and
|
|
|
|
|
automatically push the documents to the Torna enterprise-level interface document management platform.
|
2021-03-12 23:22:10 +08:00
|
|
|
|
|
2021-10-30 23:21:08 +08:00
|
|
|
|
![smart-doc+torna](https://raw.githubusercontent.com/shalousun/smart-doc/master/images/smart-doc-torna-en.png)
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2020-08-21 23:08:04 +08:00
|
|
|
|
## Building
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2020-10-18 22:27:15 +08:00
|
|
|
|
You could build with the following commands. (Java 1.8 is required to build the master branch)
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2020-08-21 23:08:04 +08:00
|
|
|
|
```
|
|
|
|
|
mvn clean install -Dmaven.test.skip=true
|
|
|
|
|
```
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2021-01-01 13:58:34 +08:00
|
|
|
|
## TODO
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2021-01-01 13:58:34 +08:00
|
|
|
|
- Jakarta RS-API 2.x
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2020-08-21 23:08:04 +08:00
|
|
|
|
## Who is using
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
|
|
|
|
These are only part of the companies using smart-doc, for reference only. If you are using smart-doc,
|
2021-11-04 23:31:31 +08:00
|
|
|
|
please [add your company here](https://github.com/smart-doc-group/smart-doc/issues/12) to tell us your scenario to make
|
2021-05-16 12:02:05 +08:00
|
|
|
|
smart-doc better.
|
2020-08-21 23:08:04 +08:00
|
|
|
|
|
|
|
|
|
![IFLYTEK](https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/iflytek.png)
|
2021-07-10 10:33:57 +08:00
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/oneplus.png" title="OnePlus" width="83px" height="83px"/>
|
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/xiaomi.png" title="Xiaomi" width="170px" height="83px"/>
|
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/neusoft.png" title="东软集团" width="170px" height="83px"/>
|
2021-07-10 00:00:04 +08:00
|
|
|
|
<img src="https://www.hand-china.com/static/img/hand-logo.svg" title="上海汉得信息技术股份有限公司" width="260px" height="83px"/>
|
2021-07-10 10:33:57 +08:00
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/shunfeng.png" title="顺丰" width="83px" height="83px"/>
|
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/zhongkezhilian.png" title="zhongkezhilian" width="272px" height="83px"/>
|
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/yuanmengjiankang.png" title="yuanmengjiankang" width="260px" height="83px"/>
|
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/puqie_gaitubao_100x100.jpg" title="puqie" width="83px" height="83px"/>
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2021-07-10 10:33:57 +08:00
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/known-users/tianbo-tech.png" title="tianbo tech" width="127px" height="70px"/>
|
2020-08-21 23:08:04 +08:00
|
|
|
|
|
2021-07-10 10:33:57 +08:00
|
|
|
|
## Acknowledgements
|
|
|
|
|
Thanks to [JetBrains SoftWare](https://www.jetbrains.com) for providing free Open Source license for this open source project.
|
2021-07-10 10:42:48 +08:00
|
|
|
|
<img src="https://raw.githubusercontent.com/shalousun/smart-doc/dev/images/jetbrains-variant-3.png" width="260px" height="220px"/>
|
2020-08-21 23:08:04 +08:00
|
|
|
|
## License
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2021-11-04 23:31:31 +08:00
|
|
|
|
Smart-doc is under the Apache 2.0 license. See the [LICENSE](https://github.com/smart-doc-group/smart-doc/blob/master/LICENSE)
|
2021-05-16 12:02:05 +08:00
|
|
|
|
file for details.
|
|
|
|
|
|
2020-08-21 23:08:04 +08:00
|
|
|
|
## Contact
|
2021-05-16 12:02:05 +08:00
|
|
|
|
|
2020-08-21 23:08:04 +08:00
|
|
|
|
Email: 836575280@qq.com
|