37 lines
602 B
Go
37 lines
602 B
Go
package pkg
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net/http"
|
|
"strconv"
|
|
)
|
|
|
|
type (
|
|
BaseHandler struct{}
|
|
)
|
|
|
|
func (bh *BaseHandler) ToJSON(w http.ResponseWriter, statusCode int, data any) {
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.WriteHeader(statusCode)
|
|
json.NewEncoder(w).Encode(data)
|
|
}
|
|
|
|
func (bh *BaseHandler) ParamToInt(param string, defaultValue ...int) int {
|
|
if param == "" {
|
|
if len(defaultValue) > 0 {
|
|
return defaultValue[0]
|
|
}
|
|
return 0
|
|
}
|
|
|
|
value, err := strconv.Atoi(param)
|
|
if err != nil {
|
|
if len(defaultValue) > 0 {
|
|
return defaultValue[0]
|
|
}
|
|
return 0
|
|
}
|
|
|
|
return value
|
|
}
|