官方文档描述如下:
OpenAPI规范(原称Swagger规范)是一种用于REST API的API描述格式。
简而言之,OpenAPI 文档可以通过 YAML 或 JSON 格式详细描述 API 的全貌,包括:
Swagger 提供了一套用于通过OpenAPI框架设计 REST API 的工具。包括以下工具:
Prism 提供的 API 模拟和合同测试能力,支持 OpenAPI v2(即Swagger)和 OpenAPI v3.x版本。Prism 的主要功能包括:
Prism帮助开发者更好地测试和调试 API,确保遵循规范。此外,它还为前端开发人员提供了模拟API的便利,使他们在实际 API 完成之前就能开始工作,有效地连接了开发流程。
yarn global add @stoplight/prism-cli
curl -L https://raw.githack.com/stoplightio/prism/master/install | sh
prism mock https://raw.githack.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore-expanded.yaml
通过使用模拟服务器,可以轻松测试与 OpenAPI 数据交换,无需建立服务器端环境,非常方便。
import { GetStaticProps, InferGetStaticPropsType } from 'next'; import { createSwaggerSpec } from 'next-swagger-doc'; import dynamic from 'next/dynamic'; import 'swagger-ui-react/swagger-ui.css'; const SwaggerUI = dynamic<{spec: any;}>(import('swagger-ui-react'), { ssr: false }); function ApiDoc({ spec }: InferGetStaticPropsType) { return ; } export const getStaticProps: GetStaticProps = async () => { const spec = createSwaggerSpec({definition: { openapi: '3.0.0', info: {title: 'Next Swagger API 示例', version: '1.0',}, },}); return { props: { spec, }, }; }; export default ApiDoc;
next-swagger-doc.json
{ "apiFolder": "pages/api", "schemaFolders": ["models"], "definition": { "openapi": "3.0.0", "info": { "title": "Next Swagger API 示例", "version": "1.0" } } }
doc.json
yarn next-swagger-doc-cli next-swagger-doc.json
利用此配置文件,您可以将 prism 与前端项目文档(如next-swagger-doc.json
)结合使用,为项目提供API端点,确保开发不会延迟。对于觉得搭建服务器有难度的人,Apifox 提供了一个有效的选择。
Apifox 不仅方便 Mock数据 创建,还提供了前置操作、后置操作、持续集成、代码生成等功能,支持自定义规则和手写 mockjs 脚本等高级设置,因此,许多人利用 Apifox 的免费 Mock 功能快速生成和管理 Mock 数据。