首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带Swagger的Next.js

带Swagger的Next.js
EN

Stack Overflow用户
提问于 2021-04-05 23:41:31
回答 3查看 2.1K关注 0票数 10

有没有办法获得NEXT.js应用编程接口路由的swagger文档?我正在使用Next.js进行前端和后端开发,我想为我用Next.js开发的API提供一个夸张的文档。

EN

回答 3

Stack Overflow用户

发布于 2021-06-14 21:50:34

您必须具有用于APIS的swagger json文件或规范,并且可以使用库,如Swagger UIRedoc

使用Redoc,您可以执行/doc/slug.js,并为您的文档(或swagger ui)动态获取.json或yaml文件。

这个网站:https://openapi.tools/,有很多用于React和OpenAPI的工具,你可以使用它。

票数 3
EN

Stack Overflow用户

发布于 2021-09-08 20:26:14

您可以使用以下项目来引导Next.js和Swagger之间的集成

代码语言:javascript
复制
yarn add next-swagger-doc swagger-ui-react
代码语言:javascript
复制
import { GetStaticProps, InferGetStaticPropsType } from 'next';

import { createSwaggerSpec } from 'next-swagger-doc';
import SwaggerUI from 'swagger-ui-react';
import 'swagger-ui-react/swagger-ui.css';

const ApiDoc = ({ spec }: InferGetStaticPropsType<typeof getStaticProps>) => {
  return <SwaggerUI spec={spec} />;
};

export const getStaticProps: GetStaticProps = async ctx => {
  const spec: Record<string, any> = createSwaggerSpec({
    title: 'NextJS Swagger',
    version: '0.1.0',
  });
  return { props: { spec } };
};

export default ApiDoc;

Next.js应用编程接口路由端点的实际定义如下所示:

代码语言:javascript
复制
/**
 * @swagger
 * /api/hello:
 *   get:
 *     description: Returns the hello world
 *     responses:
 *       200:
 *         description: hello world
 */
const handler = (_req: NextApiRequest, res: NextApiResponse) => {
  res.status(200).json({
    result: 'hello world',
  });
};
票数 1
EN

Stack Overflow用户

发布于 2022-01-31 20:30:51

我做了一个小的npm库,它可以从你的NextJS项目中自动生成Swagger文档。不需要用户输入!

仍然是Beta版,但希望它是有用的。https://www.npmjs.com/package/nextjs-routes-docs

快跑吧

代码语言:javascript
复制
npx nextjs-routes-docs [dir]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66955625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档