Browse Source

完善逻辑

yjp 1 year ago
parent
commit
0f8e18db42
1 changed files with 9 additions and 6 deletions
  1. 9 6
      mqtt_binding/request/request.go

+ 9 - 6
mqtt_binding/request/request.go

@@ -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)