Documentation
¶
Index ¶
- Constants
- Variables
- func MustServe(config Config, factory RouteFactory, mws ...middlewares.Middleware)
- func MustServeFromViper(factory RouteFactory, middlewares ...middlewares.Middleware)
- type BusinessError
- func ErrDatabase(err error) *BusinessError
- func ErrDatabaseCause(err error, cause string) *BusinessError
- func ErrDatabaseCausef(err error, cause string, args ...any) *BusinessError
- func ErrInternal(err error) *BusinessError
- func ErrJwt(cause string) *BusinessError
- func ErrTooManyRequests(err error) *BusinessError
- func ErrValidation(err error) *BusinessError
- func ErrValidationStr(err string) *BusinessError
- func ErrValidationStrf(err string, args ...any) *BusinessError
- func NewBusinessError(code int, message string, data ...any) *BusinessError
- type Config
- type RouteFactory
Constants ¶
View Source
const ( ErrCodeSuccess = 0 ErrCodeValidation = 1 ErrCodeInternal = 2 ErrCodeTooManyRequests = 3 ErrCodeDatabase = 4 ErrCodeJwt = 5 )
Variables ¶
View Source
var ErrNil = &BusinessError{ErrCodeSuccess, "Success", nil}
ErrNil is used for success response.
Functions ¶
func MustServe ¶
func MustServe(config Config, factory RouteFactory, mws ...middlewares.Middleware)
func MustServeFromViper ¶
func MustServeFromViper(factory RouteFactory, middlewares ...middlewares.Middleware)
Types ¶
type BusinessError ¶
type BusinessError struct {
// Code error code, 0 indicates success, otherwise business error (e.g. user not found) or internal server error.
Code int `json:"code"`
// Message error message associated with `Code`.
Message string `json:"message"`
// Data is the return value if success. Otherwise, it is concret failure reason in string type.
Data any `json:"data"`
}
BusinessError is uniform data structure of REST API.
func ErrDatabase ¶ added in v0.6.1
func ErrDatabase(err error) *BusinessError
func ErrDatabaseCause ¶ added in v0.6.2
func ErrDatabaseCause(err error, cause string) *BusinessError
func ErrDatabaseCausef ¶ added in v0.6.2
func ErrDatabaseCausef(err error, cause string, args ...any) *BusinessError
func ErrInternal ¶
func ErrInternal(err error) *BusinessError
func ErrJwt ¶ added in v0.6.5
func ErrJwt(cause string) *BusinessError
func ErrTooManyRequests ¶
func ErrTooManyRequests(err error) *BusinessError
func ErrValidation ¶
func ErrValidation(err error) *BusinessError
func ErrValidationStr ¶ added in v0.6.1
func ErrValidationStr(err string) *BusinessError
func ErrValidationStrf ¶ added in v0.6.2
func ErrValidationStrf(err string, args ...any) *BusinessError
func NewBusinessError ¶
func NewBusinessError(code int, message string, data ...any) *BusinessError
func (*BusinessError) Error ¶
func (err *BusinessError) Error() string
func (*BusinessError) WithData ¶ added in v0.6.0
func (err *BusinessError) WithData(data any) *BusinessError
type RouteFactory ¶
Click to show internal directories.
Click to hide internal directories.