• go语言生成markdown文档工具


    虽然有go语言的swagger,但是go版本的swagger对代码的侵入比较大,因此抽空实现了基于GO语言生成markdown文档的工具

    开源链接地址:

    https://github.com/w3liu/gendoc

    gendoc

    文档生成工具

    MarkDown生成说明

    示例

    // doc是字段说明
    // 如果是必填項,doc里填写 required 即可,注意required前面需要加空格
    type ReqCreateOrder struct {
    	Pass       string  `json:"pass" doc:"交易密码不能为空,请用BASE64 进行转码 required"`
    	Amount     float32 `json:"amount" doc:"支付金额,不能小于或等于0"`
    	RandomNum  string  `json:"randomNum" doc:"随机字符串不能为空,最大长度为30"`
    	TranBody   string  `json:"tranBody" doc:"交易描述不能为空,最大长度为30;"`
    	OutTradeNo string  `json:"outTradeNo" doc:"三方交易唯一订单号,最大长度60"`
    	CreateIp   string  `json:"createIp" doc:"IP地址"`
    	StartTime  int64   `json:"startTime" doc:"交易开始时间搓,格式为yyyyMMddHHmmss"`
    }
    
    type RespCreateOrder struct {
    	Code int32       `json:"code" doc:"错误码"`
    	Msg  string      `json:"msg" doc:"错误信息"`
    	Data interface{} `json:"data" doc:"业务数据"`
    }
    
    
    func TestGenMarkDown(t *testing.T) {
    	// 实例化文档
    	doc := &gendoc.Document{
    		Title:   "接口文档",
    		Version: "v1.0.0",
    		BaseUrl: "http://127.0.0.1:8080",
    	}
    	// 添加接口
    	doc.AddItem("创建订单接口", "/v1/order/create", gendoc.POST, gendoc.Tomas, &ReqCreateOrder{}, &RespCreateOrder{Data: &ReqCreateOrder{}})
    	// 生成字段
    	doc.GenerateFields()
    	// 实例化文档生成器
    	md := New(doc)
    	// 生成文档
    	md.Generate("./doc.md")
    }


  • 相关阅读:
    bzoj3505 数三角形 组合计数
    cogs2057 殉国 扩展欧几里得
    cogs333 荒岛野人 扩展欧几里得
    bzoj1123 BLO tarjan求点双连通分量
    poj3352 road construction tarjan求双连通分量
    cogs1804 联合权值 dp
    cogs2478 简单的最近公共祖先 树形dp
    cogs1493 递推关系 矩阵
    cogs2557 天天爱跑步 LCA
    hdu4738 Caocao's Bridge Tarjan求割边
  • 原文地址:https://www.cnblogs.com/w3liu/p/12380786.html
Copyright © 2020-2023  润新知