自訂動作
除了標準的 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] 屬性位於 entity 上,每個操作的 controller: 參數指向動作類別:
動作類別本身是一個簡單的可呼叫控制器 — 服務透過 __invoke() 方法引數注入:
重點:
當動作直接讀取請求(例如 multipart 檔案上傳)而非讓 API Platform 反序列化 JSON 本文時,設定
deserialize: false。檔案上傳動作通常擴展
BaseResourceFileAction,該類別處理 multipart 解析與資源節點連接。安全性透過操作上的
security:參數強制執行,而非在控制器內部。
最後更新於
這有幫助嗎?