|
@@ -11,14 +11,17 @@ import (
|
|
|
var validate = validator.New(validator.WithRequiredStructEnabled())
|
|
|
|
|
|
func BindingJson[O any](c *mqtt_client.MqttClient, item *router.Item, request any, sendFunc response.SendFunc[O]) bool {
|
|
|
- err := json.Unmarshal(item.GetData(), request)
|
|
|
- if err != nil {
|
|
|
- var zero O
|
|
|
- sendFunc(c, item, zero, err)
|
|
|
- return false
|
|
|
+ data := item.GetData()
|
|
|
+ if data != nil && len(data) != 0 {
|
|
|
+ err := json.Unmarshal(data, request)
|
|
|
+ if err != nil {
|
|
|
+ var zero O
|
|
|
+ sendFunc(c, item, zero, err)
|
|
|
+ return false
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- err = validate.Struct(request)
|
|
|
+ err := validate.Struct(request)
|
|
|
if err != nil {
|
|
|
var zero O
|
|
|
sendFunc(c, item, zero, err)
|