我决定将 Strapi 部署为我的项目的无头 CMS/后端,并且对开箱即用的轻松设置非常满意。但是,我的项目的一部分需要通过简单的表单捕获用户输入,我认为通过编写自定义插件和利用相同的后端来扩展Stati的REST API是可行的方法,而不是使用自己的数据库启动另一个快速服务器。我能够找到有关生成插件的文档,并且我对不同插件文件的文件结构和逻辑(模型,控制器,策略,配置,路由等)的工作原理有很好的理解。但是,对于我的生活,我无法找到最基本的资源或任何关于如何编写逻辑的足够文档,允许我的控制器挂接到Steati为我的自定义集合创建的基本CRUD方法(在我的情况下是“消息”)。
生成插件
表带生成:插件通讯录
在插件\联系人表单\config\routes.json.创建了一个路由,在允许从“管理”面板进行公共访问后,我已成功对其进行了测试/postMessage
{ "routes":
[
{
"method": "POST",
"path": "/postMessage",
"handler": "contact-form.postMessage"
}
]
}
在插件\接触形式\模型中。我创建了一个空的模型文件&包含我的模型“消息”的定义,它定义了一个colationType集合名称“消息”及其字段,如下所示:Message.jsMessage.settings.json
{
"kind": "collectionType",
"connection": "default",
"info": {
"name": "message",
"description": "This represents the Message Model"
},
"attributes": {
"name": {
"default": "",
"type": "string",
"required": true
},
"email": {
"default": "",
"type": "email",
"required": true
},
"message": {
"default": "",
"type": "text",
"required": true
}
}
}
在开发服务器重新启动后,Strapi已经识别出我的插件,并在其数据库中反映了“消息”模型,我可以从管理面板中正确看到该集合。
我需要什么帮助
我想做的是扩展插件的REST API端点,以提供与 Strapi 在创建新集合/实体时构建的开箱即用端点相同的功能,同时为其添加自定义业务逻辑层。
我很感激任何人向我指出一个示例或资源,该示例或资源显示了Stati向插件公开的方法或函数,这些插件可以挂钩或调用以实现此目的。
开心每一天1111
相关分类