Fastify 是一个高效、低开销的 Web 框架,它具有出色的性能和易用性。Swagger 是一个流行的 API 文档化工具,它可以帮助我们快速创建和维护 API 文档。在本文中,我们将介绍如何在 Fastify 中使用 Swagger 文档化 API 接口。
安装依赖
首先,我们需要安装 Fastify 和 Swagger 的依赖:
npm install fastify fastify-swagger
创建 Fastify 应用
接下来,我们创建一个 Fastify 应用,并在应用中启用 Swagger 插件:
const fastify = require('fastify')() fastify.register(require('fastify-swagger'), { exposeRoute: true, routePrefix: '/docs', swagger: { info: { title: 'My API', description: 'API documentation', version: '1.0.0' }, externalDocs: { url: 'https://swagger.io', description: 'Find more info here' }, host: 'localhost:3000', schemes: ['http'], consumes: ['application/json'], produces: ['application/json'], tags: [ { name: 'user', description: 'User related end-points' }, { name: 'code', description: 'Code related end-points' } ], definitions: { User: { type: 'object', properties: { id: { type: 'string' }, name: { type: 'string' } } } } } }) fastify.get('/', (request, reply) => { reply.send({ hello: 'world' }) }) fastify.listen(3000, (err, address) => { if (err) { console.error(err) process.exit(1) } console.log(`Server listening on ${address}`) })
在这个例子中,我们在 Fastify 应用中启用了 Swagger 插件,并配置了一些 Swagger 选项,例如文档的标题、描述、版本号、API 的主机地址等等。我们还定义了一些 Swagger 标签和数据模型。
添加 API 接口
接下来,我们添加一些 API 接口,并使用 Swagger 注解来描述接口的参数、响应和其他信息。例如,我们添加一个获取用户信息的接口:
fastify.get('/users/:id', { schema: { params: { type: 'object', properties: { id: { type: 'string', description: 'User ID' } } }, response: { 200: { type: 'object', properties: { id: { type: 'string' }, name: { type: 'string' } } } } } }, (request, reply) => { const { id } = request.params reply.send({ id, name: `User ${id}` }) })
在这个例子中,我们使用了 schema
注解来描述接口的参数和响应。我们定义了一个名为 id
的路径参数,它是一个字符串类型,并且添加了一个描述信息。我们还定义了一个响应,它返回一个包含 id
和 name
属性的对象。
查看 API 文档
现在,我们可以启动 Fastify 应用,并访问文档页面来查看我们的 API 接口文档:
node app.js
然后,我们可以在浏览器中打开 http://localhost:3000/docs
,即可查看生成的 API 文档。我们可以在文档中看到我们添加的 API 接口和它们的参数、响应和其他信息。
总结
在本文中,我们介绍了如何在 Fastify 中使用 Swagger 文档化 API 接口。我们首先安装了 Fastify 和 Swagger 的依赖,然后创建了一个 Fastify 应用,并启用了 Swagger 插件。接着,我们添加了一些 API 接口,并使用 Swagger 注解来描述接口的参数、响应和其他信息。最后,我们可以访问文档页面来查看我们的 API 接口文档。这样,我们就可以更方便地创建和维护 API 文档了。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/658b7185eb4cecbf2d0b671e