CNode

joi2md

分享
Yyujintang发布于7 年前最后回复7 年前9 回复5942 浏览0 收藏

根据Joi 参数判断,去实现文档的request部分,但是总感觉文档用起来还是不是太顺手,求star与提建议。

地址:https://github.com/ufo-parts/joi2md Example

const Joi = require('joi');
const Joi2md = require('joi2md');

const Jm = new Joi2md();
// 设置schema
Jm.setSchema({
    name: Joi.number().default(1).required().notes('用户名'),
})
// schema 转换为行数据
Jm.transferRows()
// 得到markdown字符串
Jm.setPrintHeaders([
    ['path', '参数名'],
    ['type', '类型'],
    ['presence', '必填'],
    ['default', '默认值'],
    ['notes', '说明'],
  ]);
const result = Jm.printMd()
console.log(result)

Result

参数名类型必填默认值说明
namenumbertrue1用户名
查看回复

回复 (9)

H
HongYangHT#1·7 年前

有现成的, apiDoc: http://apidocjs.com/

C
captainblue2013#2·7 年前
引用 HongYangHT有现成的, apiDoc: http://apidocjs.com/

@HongYangHT 你这个是大量的文本注释来支持,我个人是一直觉得这种方法不是很高。 是easyway, 不是rightway。

我一直在做一个研究,目前有点收效,通过AST直接分析出接口文档。

有兴趣的交流一下。

Y
yujintang#3·7 年前
引用 HongYangHT有现成的, apiDoc: http://apidocjs.com/

@HongYangHT 通过注释去维护文档费时费力,最好是能自动生成

H
HongYangHT#5·7 年前

@captainblue2013 嗯,这种方式就是比较简单,但缺点也比较明显(注释比较多)

Q
qxl1231#6·7 年前

有的swagger 这种东西不用,非要自己造轮子哦~集成个swagger 那么容易

H
helloyou2012#7·7 年前

如果是 RESTful 接口最好用 OpenAPI 格式,这样可以直接通过 swagger-ui 来展示。我们写了一个路由中间件可以自动生成 OpenAPI:https://github.com/d-band/koa-mapper

H
helloyou2012#8·7 年前

如果是普通的 JS 接口用 esdoc 就够了

参与回复
登录后即可参与回复。登录