Directus创建和使用Endpoint

Directus

Directus创建自定义路由的扩展需要使用endpoint,官方提供了一个扩展包,但是文档写的很模糊,这里笔者做一个记录。

首先需要用官方提供的命令行工具生成一个扩展包

npx create-directus-extension@latest

在列表选项中选择endpoint,注意这里的名称可以任意写未作任何要求,由于我们在根目录创建了该扩展,建议使用一个带有识别度的自定义的前缀比较好,比如我们这里创建了一个名为directus-demo的扩展目录名。

This utility will walk you through creating a Directus extension.

? Choose the extension type endpoint
? Choose a name for the extension meilisearch
? Choose the language to use javascript
√ Done

创建成功后进入directus-demo目录找到/src/index.js文件,我们可以在这里写我们需要实现的路由请求和处理

export default {
	id: 'demo',
	handler: (router) => {
		router.get('/', (req, res) => res.send('Hello, World!'));
		router.get('/intro', (req, res) => res.send('Nice to meet you.'));
		router.get('/goodbye', (req, res) => res.send('Goodbye!'));
	},
};

完成后进入插件所在directus-demo目录,运行npm run build编译。

接下来,重点来了!

如何让directus系统识别挂载该扩展,我们需要在directus项目根目录下的extensions目录中创建一个前缀为“directus-extension-endpoint-”的插件项目,我们这里创建名称为“directus-extension-endpoint-demo”,然后把刚才编译的directus-demo目录下的package.json文件,src,dist目录都复制进去。

最后重新启动directus项目,然后访问http://localhost:8055/demo/即可看到“Hello, World!

Post Comment