// Package request ... // // Description : request ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2025-05-08 14:21 package request import ( "bytes" "errors" "git.zhangdeman.cn/zhangdeman/serialize" "resty.dev/v3" "git.zhangdeman.cn/zhangdeman/dynamic-struct/wrapper" ) // WriteXml application/xml body写入 type WriteXml struct{} func (w *WriteXml) Write(request *resty.Request, bodyData map[string]any) error { if nil == bodyData { return nil } var ( err error bodyBytes []byte xmlBodyByte []byte ) if bodyBytes, err = serialize.JSON.MarshalForByte(bodyData); nil != err { return err } instance, err := wrapper.NewJson(string(bodyBytes), &wrapper.Option{XmlName: "RequestBody"}) if nil != err { return err } if nil == instance { return errors.New("xml generate instance is nil") } if xmlBodyByte, err = instance.Marshal("xml"); nil != err { return err } request.SetBody(bytes.NewReader(xmlBodyByte)) return nil }