媒体适配器
支持其他媒体类型
概述
Fumadocs 中的媒体适配器支持:
- 将值转换为与相应媒体类型兼容的
fetch()body。 - 根据不同的编程语言/工具生成代码示例。
将您的媒体适配器放在单独的文件中。
import type { MediaAdapter } from 'fumadocs-openapi';
export const myAdapter: MediaAdapter = {
encode(data) {
return JSON.stringify(data.body);
},
// returns code that inits a `body` variable, used for request body
generateExample(data, ctx) {
if (ctx.lang === 'js') {
return `const body = "hello world"`;
}
if (ctx.lang === 'python') {
return `body = "hello world"`;
}
if (ctx.lang === 'go' && 'addImport' in ctx) {
ctx.addImport('strings');
return `body := strings.NewReader("hello world")`;
}
},
};传递适配器。
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
