fix: convert sql.ErrNoRows to 404 not found (#25524)

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
This commit is contained in:
Jian Qiu
2026-09-03 23:50:55 +08:00
committed by GitHub
parent 8cab0232c4
commit d8facf9ffd

View File

@@ -15,6 +15,8 @@
package httperrors
import (
"database/sql"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/util/httputils"
)
@@ -31,6 +33,9 @@ func NewGeneralError(err error) *httputils.JSONClientError {
return httputils.NewJsonClientError(code, string(nerr), "%s", err.Error())
default:
root := errors.Cause(err)
if root == sql.ErrNoRows {
return NewNotFoundError("%s", err.Error())
}
switch nerr := root.(type) {
case *httputils.JSONClientError:
nerr.Details = err.Error()