Fumadocs

媒体适配器

支持其他媒体类型

概述

Fumadocs 中的媒体适配器支持:

  • 将值转换为与相应媒体类型兼容的 fetch() body。
  • 根据不同的编程语言/工具生成代码示例。

将您的媒体适配器放在单独的文件中。

import type { MediaAdapter } from 'fumadocs-openapi';

export const : MediaAdapter = {
  () {
    return .(.);
  },
  // returns code that inits a `body` variable, used for request body
  (, ) {
    if (. === 'js') {
      return `const body = "hello world"`;
    }

    if (. === 'python') {
      return `body = "hello world"`;
    }

    if (. === 'go' && 'addImport' in ) {
      .('strings');

      return `body := strings.NewReader("hello world")`;
    }
  },
};

传递适配器。

lib/source.ts
import { createOpenAPI } from 'fumadocs-openapi/server';
import * as Adapters from './media-adapters';
import * as ClientAdapters from './media-adapters.client';

export const openapi = createOpenAPI({
  proxyUrl: '/api/proxy',
  mediaAdapters: {
    // override the default adapter of `application/json`
    'application/json': {
      ...Adapters.myAdapter,
      client: ClientAdapters.myAdapter,
    },
  },
});

How is this guide?

Last updated on

On this page