| 1234567891011121314151617181920212223242526272829303132 |
- 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 {
- 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)
- if err != nil {
- var zero O
- sendFunc(c, item, zero, err)
- return false
- }
- return true
- }
|