Fumadocs

创建代理

避免 CORS 问题

介绍

代理服务器对于执行 HTTP (fetch) 请求非常有用,因为它不像浏览器那样受到 CORS 约束。 我们可以使用它在 OpenAPI playground 中执行 HTTP 请求,当目标 API 端点未正确配置 CORS 时。

警告

不要在不可靠的站点和 API 端点上使用此功能,代理服务器将转发所有接收到的标头和正文,包括仅限 HTTP 的 CookiesAuthorization 标头。

设置

为代理服务器创建一个路由处理程序。

/api/proxy/route.ts
import { openapi } from '@/lib/openapi';

export const { GET, HEAD, PUT, POST, PATCH, DELETE } = openapi.createProxy({
  // optional, we recommend to set a list of allowed origins for proxied requests
  allowedOrigins: ['https://example.com'],
});

如果 openapi 服务器尚未配置,请按照 入门 指南进行操作。

并从 createOpenAPI 中启用代理。

lib/source.ts
import { createOpenAPI } from 'fumadocs-openapi/server';

export const openapi = createOpenAPI({
  proxyUrl: '/api/proxy',
});

How is this guide?

Last updated on

On this page