meteologica/service_a/internal/domains/handlers.go

37 lines
606 B
Go

package domains
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
}