Implementing ProtoBuf Media Formatter on an ASP.NET Core API

Custom media formatters are used for providing data exchange between client and server in a type which is not a standard media type in the likes of above. Let's see how we can implement a media formatter which enables us to have data exchange between client and server using a media called Protocol Buffers aka ProtoBuf.