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  }