Files
juwan-backend/desc/api/objectstory.api
T
2026-02-28 05:33:16 +08:00

40 lines
904 B
Plaintext

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)
}