What is meant by a service?

A service is an interface which is resolved for a configured concrete implementation with a specified lifetime, which is managed by the IoC container and is injected via constructor or method whenever requested by the calling method or class.

It is configured using the ConfigureServices() method in the Startup class.

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.