syntax = "v1" info ( title: "文件服务" desc: "处理文件上传与获取" author: "Asadz" version: "v1" ) type ( // 上传请求参数(File文件流在Handler中通过 r.FormFile 获取) UploadReq { Type string `form:"type,options=avatar|chat|post|verification|dispute"` // 文件类型限制 } // 上传响应 UploadResp { Url string `json:"url"` // 返回 CDN 地址或访问地址 } // 获取文件请求(用于私有文件或代理访问) GetFileReq { FileId string `path:"fileId"` } ) @server ( prefix: /api/v1 group: file middleware: FileSizeLimit // 建议添加中间件限制文件大小 ) service file-api { @doc "文件上传接口" @handler Upload post /upload (UploadReq) returns (UploadResp) @doc "文件获取接口 (如果是私有文件,通过此接口获取或重定向)" @handler GetFile get /files/:fileId (GetFileReq) }