GET
/api/files/{key}============================================================
============================================================ GET /api/files/<projectId>/<filename...> — MinIO 객체 스트리밍 프록시 ============================================================ 용도: - 에디터가 본문에 박은 이미지를 안정적으로 표시. (presigned URL 은 만료가 있어 description 에 박으면 며칠 뒤 깨짐 → 영구 URL 필요) 권한: - objectKey 첫 segment 가 projectId UUID. - 해당 프로젝트의 멤버만 접근. - 비멤버는 403. 캐시: - 한 번 인증된 객체는 1시간 캐시. private (브라우저만, CDN 안 함). - 객체 키에 UUID 가 박혀 있어 동일 이름이라도 충돌 없음. 구현: - MinIO의 Node Readable을 Web ReadableStream으로 변환해 그대로 응답한다. - 파일 본문을 Buffer.concat으로 힙에 적재하지 않는다(#98). ============================================================
Path parameters
keystringrequiredResponses
200 성공401 미인증(JWT 쿠키 필요)403 권한 없음404 없음
cURL
curl -X GET https://sit.in-bridge.com/api/files/{key} \
-H "Authorization: Bearer $TOKEN"JavaScript
const res = await fetch("https://sit.in-bridge.com/api/files/{key}", {
method: "GET",
headers: {
"Authorization": `Bearer ${token}`
}
});
const data = await res.json();