自定义操作
除了标准的 CRUD 操作外,Chamilo 还拥有许多自定义 API 操作控制器(数量在几十个左右),用于处理专门的操作。具体数量因版本而异——请查看 src/CoreBundle/Controller/Api/ 以获取当前集合。
位置
自定义操作位于 src/CoreBundle/Controller/Api/。
值得注意的自定义操作
文档
CreateDocumentFileAction
上传文件或创建文件夹/链接文档
UpdateDocumentFileAction
替换文档文件
ReplaceDocumentFileAction
替换文档文件,保留其 ID
MoveDocumentAction
将文档移动到不同文件夹
UpdateVisibilityDocument
切换文档对学习者的可见性
DownloadAllDocumentsAction
以 ZIP 格式下载文件夹中的所有文档
DownloadSelectedDocumentsAction
以 ZIP 格式下载选定的文档集
DocumentUsageAction
列出使用文档的课程/会话
DocumentLearningPathUsageAction
列出使用文档的学习路径
词汇表
CreateCGlossaryAction
创建词汇表术语
UpdateCGlossaryAction
更新词汇表术语
ExportCGlossaryAction
将词汇表导出为文件
ImportCGlossaryAction
从文件导入词汇表
ExportGlossaryToDocumentsAction
将词汇表导出为课程中的文档
GetGlossaryCollectionController
获取带有自定义过滤的词汇表集合
链接
CreateCLinkAction
创建外部链接
UpdateCLinkAction
更新外部链接
CreateCLinkCategoryAction
创建链接类别
UpdateCLinkCategoryAction
更新链接类别
CheckCLinkAction
检查链接 URL 是否可访问
ExportCLinksAction
将链接导出为文件
CLinkDetailsController
获取链接详细信息
CLinkImageController
获取或设置链接的预览图像
GetLinksCollectionController
获取带有自定义过滤的链接集合
UpdateVisibilityLink
切换链接可见性
UpdateVisibilityLinkCategory
切换链接类别可见性
UpdatePositionLink
重新排序链接
学习路径
CreateCLpAction
创建学习路径
LpReorderController
重新排序学习路径项目
日历
UpdateCCalendarEventAction
更新课程日历事件
CalendarMyStudentsScheduleAction
获取教师学生的日程安排
博客
CreateCBlogAction
创建博客文章
CreateBlogAttachmentAction
为博客文章添加附件
UpdateVisibilityBlog
切换博客可见性
Dropbox
CreateDropboxFileAction
上传文件到 Dropbox(文件交换工具)
学生作业(任务)
CreateStudentPublicationFileAction
提交作业文件
CreateStudentPublicationCommentAction
为提交添加评论
CreateStudentPublicationCorrectionFileAction
为提交上传更正文件
个人文件
CreatePersonalFileAction
上传文件到用户的个人文件空间
UpdatePersonalFileAction
更新个人文件
社交
LikeSocialPostController
点赞社交帖子
DislikeSocialPostController
取消点赞社交帖子
CreateSocialPostAttachmentAction
为社交帖子添加附件
SocialPostAttachmentsController
列出社交帖子上的附件
AbstractFeedbackSocialPostController
社交帖子反馈操作的基类
会话
CreateSessionWithUsersAndCoursesAction
创建会话并一次性注册用户和课程
用户与访问 URL
CreateUserOnAccessUrlAction
创建用户并将其与访问 URL 关联
UserAccessUrlsController
列出用户所属的访问 URL
UserSkillsController
列出授予用户的技能
视频会议
VideoConferenceCallbackController
处理来自外部视频会议提供商的回调
基类
BaseResourceFileAction
文件上传操作的基类;处理多部分解析、资源节点创建和存储
实现自定义操作
自定义操作是标准的 Symfony 控制器,在 API Platform 的操作定义中被引用。#[ApiResource] 属性存在于实体上,每个操作的 controller: 参数指向操作类:
操作类本身是一个普通的可调用控制器——服务通过 __invoke() 方法参数注入:
关键点:
当操作直接读取请求(例如多部分文件上传)而不是让 API Platform 反序列化 JSON 主体时,设置
deserialize: false。文件上传操作通常继承自
BaseResourceFileAction,它处理多部分解析和资源节点连接。安全性通过操作上的
security:参数强制执行,而不是在控制器内部。
最后更新于
这有帮助吗?