函数式 API
本页用于快速查询 @midwayjs/core/functional 当前可用的函数式 API。
配置与路由
最小目录示例:
src
├── server
│ ├── index.ts # defineConfiguration 入口
│ └── api
│ └── user.api.ts # defineApi 声明文件
└── web
└── api
└── client.ts
defineConfiguration
- 作用:定义 Midway 函数式配置入口(替代 class
@Configuration) - 等同于原 class 写法:
@Configuration(...)class
示例:
// src/server/index.ts
import { defineConfiguration } from '@midwayjs/core/functional';
import * as koa from '@midwayjs/koa';
export default defineConfiguration({
imports: [koa],
});
defineApi
- 作用:定义函数式 API 契约与路由(method/path/input/output/handle)
- 等同于原 class 写法:
@Controller(...)+@Get/@Post/...+ 方法实现
示例:
// src/server/api/user.api.ts
import { defineApi } from '@midwayjs/core/functional';
export const userApi = defineApi('/users', api => ({
getUser: api.get('/:id').handle(async ({ input }) => {
return { id: input.params?.id, name: 'harry' };
}),
}));