有没有一种方法可以为NEXT.js API路径提供一个更好的文档?我正在使用Next.js进行前端和后端开发,我希望为我使用Next.js开发的API提供一个更好的文档。
bgibtngc1#
您可以使用以下项目引导Next.js和Swagger之间的集成
yarn add next-swagger-doc swagger-ui-react
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 API路由端点的实际定义如下所示:
/** * @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', }); };
tag5nh1u2#
我做了一个小的npm库,可以从你的NextJS项目中自动生成Swagger文档。不需要用户输入!仍然是非常测试版,但希望它是有用的。https://www.npmjs.com/package/nextjs-routes-docs快跑
npx nextjs-routes-docs [dir]
evrscar23#
您必须拥有用于APIS的swagger json文件或规范,并且可以使用Swagger UI或Redoc等库使用Redoc,你可以创建一个/doc/[ slug]. js文件,并对. json或yaml文件进行动态提取,以生成文档(或swagger ui)本网站:https://openapi.tools/,有很多React和OpenAPI的工具,你可以使用它。
gmxoilav4#
从API路径自动生成OpenAPI规范文件的另一个解决方案是使用Next REST Framework:https://github.com/blomqma/next-rest-framework
4条答案
按热度按时间bgibtngc1#
您可以使用以下项目引导Next.js和Swagger之间的集成
Next.js API路由端点的实际定义如下所示:
tag5nh1u2#
我做了一个小的npm库,可以从你的NextJS项目中自动生成Swagger文档。不需要用户输入!
仍然是非常测试版,但希望它是有用的。https://www.npmjs.com/package/nextjs-routes-docs
快跑
evrscar23#
您必须拥有用于APIS的swagger json文件或规范,并且可以使用Swagger UI或Redoc等库
使用Redoc,你可以创建一个/doc/[ slug]. js文件,并对. json或yaml文件进行动态提取,以生成文档(或swagger ui)
本网站:https://openapi.tools/,有很多React和OpenAPI的工具,你可以使用它。
gmxoilav4#
从API路径自动生成OpenAPI规范文件的另一个解决方案是使用Next REST Framework:https://github.com/blomqma/next-rest-framework