ASP.Net Core provides built-in support for data exchange in the JSON and XML formats. If you want your ASP.Net Core application to transmit data over HTTP in a format that isn’t supported by one of these built-in formatters, then you will need to create a custom output formatter.
As an example, you might want to build a custom output formatter if you want to exchange data with clients using the more efficient Protobuf format. This article presents a discussion of what output formatters are, why they are needed, and how we can build a custom output formatter in ASP.Net Core.
Create an ASP.Net Core Web API project
First off, let’s create an ASP.Net Core Web API project in Visual Studio. If Visual Studio 2017 is up and running in your system, follow the steps given below to create an ASP.Net Core Web API project.
- Launch the Visual Studio 2017 IDE.
- Click on File > New > Project.
- Select “ASP.Net Core Web Application (.Net Core)” from the list of templates displayed.
- Specify a name for the project.
- Click OK to save the project.
- A new window “New .Net Core Web Application…” is shown next.
- Select .Net Core as the runtime and ASP.Net Core 2.1 or later from the drop-down list at the top of the window.
- Select “API” as the project template.
- Ensure that the check boxes “Enable Docker Support” and “Configure for HTTPS” are unchecked as we wn’t be using those features here.
- Ensure that “No Authentication” is selected as we won’t be using authentication either.