在 Fastify 中使用 Swagger 文档化 API 接口

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 的路径参数,它是一个字符串类型,并且添加了一个描述信息。我们还定义了一个响应,它返回一个包含 idname 属性的对象。

查看 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


纠错
反馈