如何创建Directus中的自定义端点?

摘要:Create Custom Endpoint in Directus Directus V11.11.0 Build Extension Create any folder and go inside mkdir shivam cd shi
Create Custom Endpoint in Directus Directus V11.11.0 Build Extension Create any folder and go inside mkdir shivam cd shivam Create directus extension here 创建扩展插件 npm init directus-extension #old npx create-directus-extension@latest #new Select extension-type as endpoint Select name as dog Select language as javascript Now go to src folder on newly created extension folder dog/src Edit index.js file simple example export default (router) => { router.get("/", (req, res) => res.send("Hello World, I am Dog")); }; // accessible on /dog complex example --此模式未尝试 module.exports = function registerEndpoint(router, { services, exceptions }) { router.get("/", (req, res) => { res.send({ mesasge: "Welcome to Cat world", }); }); router.get("/hello", (req, res) => { res.send({ message: "Hola from Cats", }); }); }; // accessile on /cat/ and /cat/hello Build extension with npm run build Deploy extension Copy content from dog/dist/ Paste in extensions/dog/dist Directus app will look like this ../extensions/dog/dist/index.js Deploy with docker Keep extensions folder alongside docker-compose.yml file ---docker-compose.yml ---database |---demo.db ---uploads ---extensions ├── dog │ ├── dist │ ├── node_modules │ ├── package-lock.json │ ├── package.json │ └── src Add volume mapping for extensions volumes: - ./uploads:/directus/uploads - ./database:/directus/database - ./extensions:/directus/extensions Done Now run docker compose sudo docker-compose up OR sudo docker-compose up -d