When it comes to moving data back and forth between an API endpoint and its clients, there are times where a typical RESTful API that relies on JSON simply won't do. This is because RESTful APIs that serialize their data with text-based formats like JSON are slow compared to APIs that go the binary route for serializing their data. On the downside, the binary payloads are impossible to read with the human eye. But sometimes, performance trumps issues like defacto standard compliance and readability.
Thrift is not the only choice. The Apache Foundation also offers Avro. Then, there's Google's Protocol Buffers as well as lesser-known solutions like Upper Setting's FASTack. This tutorial is for API providers who want marry the benefits of Google Protocol Buffers-based binary serialization to Microsoft's ASP.NET Web API framework for providing API endpoints. Out of the box, the .NET Web API framework provisions a RESTful API. But after reading this tutorial, you'll be able to substitute Google's Protocol Buffers for that Web API's RESTful default.