github.com/free5gc/openapi@v1.0.8/serialize.go (about) 1 package openapi 2 3 import ( 4 "encoding/json" 5 "encoding/xml" 6 "errors" 7 ) 8 9 // Serialize - serialize data v to corresponding media type 10 func Serialize(v interface{}, mediaType string) ([]byte, error) { 11 var b []byte 12 var err error 13 switch KindOfMediaType(mediaType) { 14 case MediaKindJSON: 15 b, err = json.Marshal(v) 16 case MediaKindXML: 17 b, err = xml.Marshal(v) 18 case MediaKindMultipartRelated: 19 b, _, err = MultipartSerialize(v) 20 default: 21 return nil, errors.New("openapi client not supported serialize media type: " + mediaType) 22 } 23 return b, err 24 }