前言
在前端开发过程中,我们常会使用 Swagger
对我们的API进行管理,而我们常常使用 joi
来对 API 的参数进行输入的校验。但是,我们如何快速的将 joi
校验对象转换为 Swagger
规范的请求参数对象呢?这就需要用到今天介绍的npm包 joi-to-swagger
。
joi-to-swagger简介
joi-to-swagger
是一个 npm
包,它提供了一个将 joi
校验对象转换为 Swagger
规范的请求参数对象的方法。它可以快速将 joi
校验对象转换为 Swagger
规范的请求参数对象,从而轻松实现 API
的文档规范化。
安装
在终端执行以下命令安装该库:
npm install joi-to-swagger --save
使用方法
下面是该包的使用方法:
首先,我们需要引入 joi
和 joi-to-swagger
包:
const Joi = require('joi'); const j2s = require('joi-to-swagger');
假设我们有如下 joi
校验对象:
const schema = Joi.object({ name: Joi.string().required(), age: Joi.number().required(), }).required();
将joi对象转换为Swagger请求参数对象
通过 j2s()
方法将 joi
校验对象转换成 Swagger
规范的请求参数对象,如下所示:
const swaggerSchema = j2s(schema).swagger;
现在我们可以通过 Swagger
规范的 schema
对象去实现我们的API的请求参数规范化。
使用 SwaggerUI
为了更方便的查看API文档,我们可以使用 SwaggerUI
来展示我们的API文档。
安装
在终端执行以下命令安装 SwaggerUI
:
npm install swagger-ui-express --save
在Express中使用SwaggerUI
我们可以使用 swagger-ui-express
对 Swagger
规范的 schema
对象进行展示。具体方法如下:
-- -------------------- ---- ------- ----- --------- - ------------------------------ ----- --------------- - - -------- ------ ----- - ------ --- ----- -------- -------- -- ------ - --------- - ----- - -------- -------- - ------ ----- ---------- ------------ - -------- - ------------------- - ------- -------------- -- -- -- ---------- - ---- - ------------ ----- --- --------- -- ---- - ------------ ----------- ------- -- -- -- -- -- -- -------------------- ---------------- ----------------------------------
这样,在 http://localhost:3000/api-docs
中小伙伴就可以看到我们的API文档了。
以上是 joi-to-swagger
包的简单介绍以及使用方法,希望对大家有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/joi-to-swagger