fix: 文件不存在时提供报错信息
getFileUrlLogic 捕获 S3 NotFound 返回语义明确的错误信息, getFileLogic 将 gRPC 错误转为普通 error 避免 HTTP 500。
This commit is contained in:
@@ -9,6 +9,7 @@ import (
|
||||
"juwan-backend/app/objectstory/rpc/pb"
|
||||
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
s3types "github.com/aws/aws-sdk-go-v2/service/s3/types"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
@@ -37,6 +38,10 @@ func (l *GetFileUrlLogic) GetFileUrl(in *pb.GetFileUrlReq) (*pb.GetFileUrlResp,
|
||||
Key: &in.FileId,
|
||||
})
|
||||
if err != nil {
|
||||
var nf *s3types.NotFound
|
||||
if errors.As(err, &nf) {
|
||||
return nil, errors.New("file not found")
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user