| 1234567891011121314151617181920212223242526272829 |
- package request
- import (
- "encoding/json"
- "git.sxidc.com/go-tools/api_binding/mqtt_binding/mqtt_client"
- "git.sxidc.com/go-tools/api_binding/mqtt_binding/mqtt_client/router"
- "git.sxidc.com/go-tools/api_binding/mqtt_binding/response"
- validator "github.com/go-playground/validator/v10"
- )
- 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
- }
- err = validate.Struct(request)
- if err != nil {
- var zero O
- sendFunc(c, item, zero, err)
- return false
- }
- return true
- }
|