# duo-doc
**Repository Path**: ecoding/duo-doc
## Basic Information
- **Project Name**: duo-doc
- **Description**: Duo-Doc是对javadoc的扩展,对代码无入侵,通过分析读取代码注释、项目文件结构,自动生成接口文档。
主要提供的功能有:
- 自动化文档
- 各环境的接口调用
- 调用请求保存
- 简单易用的Mock功能
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://doc.duoec.com/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 7
- **Created**: 2021-07-01
- **Last Updated**: 2021-07-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Duo-Doc 文档
## 项目说明
Duo-Doc是对javadoc的扩展,对代码无入侵,通过读取分析代码注释、项目文件结构,自动提取项目接口、文档信息,并通过一个前端项目(duo-doc-angular)展现。
已实现的主要功能有:
1. 自动生成接口文档(支持离线阅读,支持markdown)
2. 支持多环境(测试、预发布、生产)的接口直接(RESTful、Dubbo)调用
3. 支持接口调用参数保存、共享
4. 生成调用代码(curl / java / javascript)
5. RESTful接口Mock(dubbo接口mock有这需求吗?)
6. SaaS模式(基于域名隔离)
7. ...
## 项目构架

duo-doc框架分为四部分:
1. duo-doclet: 是javadoclet的实现,因为javadoclet会生成类的文档,duo-doclet重写了默认的实现,它本身并不生成类文档,而是通过解析源文件,抽取了接口信息(包含接口签名、入参、响应、markdown文档等)再输出。有多种输出形式,比如post到文档服务器、api.json、markdonw结构输出等
2. invoker: 调用器,供接口调用使用,如果部署了多套环境,可以将调用器部署到各个环境里,实现多环境的调用
3. duo-doc service: duo-doc的后台服务,以RESTful的方式暴露接口,供duo-doclet上传数据、供web端拉取/调用、为三方应用提供接口元数据信息(比如为duo-graphql提供接口元数据等)
4. web: 文档的展示端,目前提供了一个标准的界面,实现了所有的功能。(有需要也可以直接重写)
## DEMO
官方提供了一个简单的[演示/DEMO](http://doc.duoec.com)。暂时未搭建dubbo环境,所以暂时未提供dubbo的调用demo
[功能截图](/server/doclet-server/doc/snapshot.md)
## 项目文档
- [安装手册](/server/doclet-server/doc/安装.md)
- [接入文档](/server/doclet-server/doc/文档接入.md)
- [接口调用](/server/doclet-server/doc/接口调用.md)
- [Mock](/server/doclet-server/doc/mock.md)
- [常规操作](/server/doclet-server/doc/常规操作.md)