Tidy up - Unused Project and Nuget package reference using Visual Studio 2019

If you are a Developer/Architect using Visual Studio as IDE for your development activities, this blog post will be of your interest. During the Ignite 2021 conference, Microsoft released Visual Studio 2019 v16.9 and v16.10 Preview 1. As part of version 16.10 Preview 1, one of the cool features they introduced is to "Remove Unused References..." for any Projects and Nuget packages that are not in use. At the time of writing this blog post, we have Visual Studio Version 16.10.0 (official release) which includes this new feature.  As part of development, we generally get carried away and introduce new Nuget package references to your project and add new references to your Projects. By the end of development, you will not be 100% sure which are not being referenced and unused which means you will leave those unused project references in your application. Now you might be wondering what's the big deal in it since it doesn't harm. The advantage of removing unused project r...

Swagger UI for Azure Function v2 & v3 APIs

In this blog post, we will see how to setup Swagger UI for Azure Function APIs in v2 and v3. Now you might be wondering why Swagger? Swagger is a language-agnostic specification for describing REST APIs, it also referred to as OpenAPI. Swagger UI offers a web-based UI that provides information about your REST APIs service.

Prerequisites

  1. HTTP trigger Azure function provisioned or created in C#
  2. Azure DI enabled on Azure Function, for more details refer here with relevant package version installed based on Azure Function version.

Integrating Swagger UI into our Applications

1. Install the appropriate package based on the Azure Function version which you are dealing with from the below table. Unfortunately, it's not a single package for both versions due to Azure function v3 because v3 makes use of ASP.NET Core 3.1 which introduces a new serializer System.Text.Json (STJ) out-of-the-box.

 Azure Function Version Nuget package
 v2          AzureFunctions.Extensions.Swashbuckle
 v3 AzureExtensions.Swashbuckle

2. Update startup code as shown below by adding Swashbuckle.

3. Add Open API and Swagger UI function
 
4. Sample HTTP trigger code as shown below

5. Run Azure function locally and you should be able to see swagger ui as shown below

Swagger UI

6. Use "SwaggerIgnoreAttribute", If you have Http Trigger Functions that you do not want to add to Open API.
7. Finally if you want to import XMLCommentDocument you can add it to Open API by navigating to host.json and placing the below code snippet with XML file in your project.

{
  "version": "2.0",
  "extensions": {
    "Swashbuckle": {
      "XmlPath": "SwaggerCommentDocument.xml"
    }
  }
}


Related Articles

Comments

Popular posts from this blog

Tidy up - Unused Project and Nuget package reference using Visual Studio 2019

Authenticate Azure Functions - API Keys