import ( "k8s.io/kubernetes/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer/json" "net/http" ) func main() { neg := runtime.NewNegotiatedSerializer(json.NewSerializerWithOptions(json.DefaultMetaFactory, nil, nil)) supported := neg.SupportedMediaTypes() for _, mt := range supported { println(mt) } }
application/vnd.kubernetes.protobuf;type=watch application/vnd.kubernetes.protobuf application/json
import ( "k8s.io/kubernetes/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer/json" ) func main() { obj := &MyCustomObject{ Name: "example", Data: []byte("some data"), } // Create serializer serializer := json.NewSerializerWithOptions(json.DefaultMetaFactory, nil, nil) // Create NegotiatedSerializer negotiatedSerializer := runtime.NewNegotiatedSerializer(serializer) // Serialize the object data, err := negotiatedSerializer.Serialize(runtime.NewJSONEncodedObject(obj)) if err != nil { panic(err) } println(string(data)) } type MyCustomObject struct { Name string Data []byte }Package Library: k8s.io/kubernetes/pkg/runtime