.NET Core

4 Steps to Automatically Generate API Documentation for ASP.NET Core Projects

Have you ever wondered whether generating API documentation automatically is possible while writing the code? Yes, this is possible. For developers, writing documentation is a painful part of the process. Swagger, also known as OpenAPI, solves this problem by generating useful documentation and help pages for web APIs. It not only generates read-only help pages but ones that are interactive as well, which can even be used for testing APIs.

I will walk you through the steps needed to use document generation capability for your API. We’ll be using the Swashbuckle NuGet package to add document generation ability to our ASP.Net Core project.

First, we install a NuGet package in our project. The NuGet package used here is Swashbuckle.AspNetCore.

In Visual Studio, go to Tools -> NuGet Package Manager -> Manage Nuget Packages for Solution. Search for the package named Swashbuckle.AspNetCore and install it in your project.

Installing Swashbuckle.AspNetCore NuGet package

The next few steps will show you how to configure Swagger by adding a few lines of code in your project Startup.cs file.

Step 1: Include the Swagger namespace.

Including Swagger namespace

Step 2: Then, register the Swagger service in the ConfigureServices method.

Configuring Swagger service

Step 3: Enable Swagger middleware in the Configure method to configure Swagger UI. That’s it, the configuration is now over.

Configuring Swagger UI

Step 4: Now run your API in a browser and navigate to your API base URL. In my case, it is localhost:44314. You will see an interactive docs page for your API up and running in no time without you writing even a single line for the document.

Check out this working sample project here.

Conclusion

So, get started and add docs to your existing API following these simple steps. Using this, you can even create version-based docs for your API. Also, be sure to add authorization to your API docs to prevent outsiders from misusing them.

Additional reference: https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-2.2

Bharat Dwarkani

Bharat Dwarkani is a Technical Product Manager at Syncfusion. He is a tech enthusiast with more than 6+ years of experience in Full-Stack Web and Desktop application development. At present, he is engineering SaaS product.