Media type deserializersΒΆ

OpenAPI comes with a set of built-in media type deserializers such as: application/json, application/xml, application/x-www-form-urlencoded or multipart/form-data.

You can also define your own ones. Pass custom defined media type deserializers dictionary with supported mimetypes as a key to unmarshal_response function:

  def protobuf_deserializer(message):
     feature = route_guide_pb2.Feature()
     feature.ParseFromString(message)
     return feature

  extra_media_type_deserializers = {
     'application/protobuf': protobuf_deserializer,
  }

  config = Config(
     extra_media_type_deserializers=extra_media_type_deserializers,
  )
  openapi = OpenAPI.from_file_path('openapi.json', config=config)

  result = openapi.unmarshal_response(request, response)