ant design pro (十五)advanced 使用 API 文档工具

摘要:
在AntDesignPro中我们已经有了一套比较完善的mock功能,而roadhog-api-doc工具,则能够从项目的mock数据中读取接口信息生成对应的文档,这样就能够更加清晰明了的展现项目的接口情况。可以通过访问roadhog-api-docgithub了解更多。

一、概述

原文地址:https://pro.ant.design/docs/api-doc-cn

在日常开发中,往往是前后端分离的,这个时候约定好一套接口标准,前后端各自独立开发,就不会被对方的技术难点给阻塞住,从而保证项目进度。

在 Ant Design Pro 中我们已经有了一套比较完善的 mock 功能,而roadhog-api-doc工具,则能够从项目的 mock 数据中读取接口信息生成对应的文档,这样就能够更加清晰明了的展现项目的接口情况。

效果如下:Pro API Docs

二、详细

2.1、如何使用

npm install roadhog-api-doc -g

2,1.1、本地服务

进入到项目根目录,运行:

roadhog-api-doc start [port]

就可以在当前项目跑起一个文档网站,但是前提是必须跟 Ant Design Pro 一样是基于roadhog的项目,并且使用了数据 mock 功能,因为文档的信息来源就是 mock 文件。

需要额外注意的是,上面的port参数指的是当前本地的roadhog应用起的服务,如果指定了可以在本地直接点击访问项目接口,没有指定则会静态化网络请求。

访问:localhost:8001/api.html

2.1.2、静态站点生成

项目根目录,运行:

roadhog-api-doc build

会生成三个文档站点静态文件:api.htmlapi.jsapi.css,你可以将其部署到自己的站点中供线上访问,这里的数据已经被静态化(转换网络请求为代码数据)。

2.1.3、书写文档

通常来讲,你无需额外加入任何依赖就可以生成文档,但是如果你需要对接口做出说明,需要按照以下格式对roadhog mock文件进行修改:

npm install roadhog-api-doc --save-dev # 将 roadhog-api-doc 作为本地工具依赖安装
import { format } from 'roadhog-api-doc';
const proxy = {
  'GET /api/currentUser': {
    $desc: "获取当前用户接口",
    $params: {
      pageSize: {
        desc: '分页',
        exp: 2,
      },
    },
    $body: {
      name: 'momo.zxy',
      avatar: imgMap.user,
      userid: '00000001',
      notifyCount: 12,
    },
  },
};
export default format(proxy);

其中:

  • $desc: 接口说明

  • $params: 接口参数说明,对象描述各个参数的意义

  • $body: 数据返回结果,通常就是 mock 的数据

ant design pro (十五)advanced 使用 API 文档工具第1张

2.1.4、本地测试 mock 数据和真实端口

当启动本地的 API Docs 站点以后,可以点击send按钮发送POST或者GET请求,并且返回值会在弹出框中显示:

ant design pro (十五)advanced 使用 API 文档工具第2张

其中需要注意的是,如果启动 API Docs 站点时,没有加端口号,那么这里的返回数据是静态数据,如果加了端口号并且本地也同时跑起了项目,那么就会直接返回实际数据。

如果你想直接访问线上的真实数据,那么需要改写当前项目的.roadhog.mock.js重定向到线上路径。

可以通过访问roadhog-api-doc github了解更多。

免责声明:文章转载自《ant design pro (十五)advanced 使用 API 文档工具》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux的PHP开发环境快速搭建在notepad++中markdown高亮并实时预览下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

springboot整合dubbo的简单案例

使用框架:   jdk 1.8   springboot-2.1.3    dubbo-2.6   spring-data-jpa-2.1.5 一、开发dubbo服务接口: 按照Dubbo官方开发建议,创建一个接口项目,该项目只定义接口和model类; 1、创建springboot工程 spring-boot-demo-dubbo-interface 坐标...

调用webservice接口,报错:(十六进制值0x01)是无效的字符

#事故现场 调用webservice接口,报错:(十六进制值0x01)是无效的字符。如图:意思是webservice返回的信息中包含无效的字符,无法解析成xml; #分析 使用postman向webservice发送请求,请求成功,返回了数据,但在数据中发现了一些莫名其妙的字符,如图:因数据来源数据库,故去数据库中查询,果然又发现,如图:将异常文本复制到...

springboot结合jwt实现基于restful接口的身份认证

基于restful接口的身份认证,可以采用jwt的方式实现,想了解jwt,可以查询相关资料,这里不做介绍~ 下面直接看如何实现 1、首先添加jwt的jar包,pom.xml中添加依赖包: <dependency> <groupId>io.jsonwebtoken</groupId>...

【Golang】Go 通过结构(struct) 实现接口(interface)

一、通过结构(struct) 实现 接口(interface) 1、在了解iris框架的时候,经常看到有这样去写的使用一个空结构体作为接收器,来调用方法,有点好奇这样做有什么意义。 解释:在 Go 语言中,一个 struct 实现了某个接口里的所有方法,就叫做这个 struct 实现了该接口。 2、空结构体有以下几大特点 A、不占用内存地址。 B、地址不变...

使用腾讯语音合成技术生成有声书

  背景:不知是否在博客园看到的腾讯云平台广告,被AI接口几个项目吸引住了,其中有个   语音合成  接口在这里安利一下,还挺好玩。这个接口提供将一段文字转换成语音的功能,支持中文、英文,遗憾的是暂时无法通过自己的声音进行训练,推出自己独有声音的音频文件:) 不过总体来说,还是相当不错啦,附件中是我用这个接口转换的样例音频文件。 DEMO实测,代码案例简单...

Mockito (一)

Mocktio 入门 Mockito 是一个模拟测试框架。主要功能是模拟类/对象的行为。 Mockito 一般用于控制调用外部的返回值,让我们只关心和测试自己的业务逻辑。 我们看一个示例: package demo; import java.util.Random; public class HttpService { public int...