Search  
Always will be ready notify the world about expectations as easy as possible: job change page
Feb 7, 2021

Web API Helper Page

Author:
Manikanta Pattigulla
Source:
Views:
1152

What is a helper page?

Helper Page enables you to see the list of Web API endpoints, so that the consumers can easily understand what HTTP method will do.

What is the use of helper page?

Basically, if you work on traditional Web services or WCF services, the consumers will be get the list of methods from WSDL of Service URL along with the details of what parameters need to pass and what is return object for each method but whereas in Web API, we don't have such an option because Web API supports resources.

So, Microsoft introduced Helper Pages in Web API 2.

Microsoft ASP.NET Web API 2.2 Help page

ASP.NET Web API Helper Page is a feature that automatically generates help page style content for your Web API endpoints. You could read more about it at the ASP.NET Web API Help Page.

Advantages

  • Does not require any code changes to enable helper pages.
  • Educates developers on how to create interactive interface which represents their Restful API to provide a rich discovery, documentation.
  • Helper pages are enabled in-build for Web API 2 and we can easily integrate it on Web API 1 also by adding nugget package.

Disadvantages

  • It’s a very basic user interface and there is no way we could try out an action method.
  • Helper pages are designed for guidance of methods, input objects and output objects. We aren't able to test on this page.
  • In order to test each method on helper page, you need to enable Web API test clients from nuget package again.

    Sample Web API Test clients

Swagger Helper Pages

Swagger basically is a framework for describing, consuming, and visualizing Restful APIs. It provides a rich discovery, documentation (documentation of methods, parameters, and models are tightly integrated into the server code) and playground experience to their API consumers.

Steps to add Swagger to ASP.NET Web API

Step 1

Install the swagger NuGet Package

Open NuGet Package Manager Console and install the below package.

Install-Package Swashbuckle

Once you add the package, “swaggerconfig.cs” file will be added automatically.

Step 2

Enable generating XML documentation

This is not a mandatory step to use “Swashbuckle” but I believe it is very useful for API consumers, especially if you have complex data models.

So, to enable XML documentation, go to project properties >> Build.
Then, enable check box for documentation. This will add an XML file to the bin folder which contains all the XML comments you added as annotation to the controllers or data models.

Step 3

Configure Swashbuckle to use XML Comments

By default, Swashbuckle doesn’t include the annotated XML comments on the API Controllers and data models into the generated specification and the UI. To include them, we need to configure it. So, open file “SwaggerConfig.cs” and add the below line.

c.IncludeXmlComments(string.Format(@"{0}\bin\ProductsApi.XML", System.AppDomain.CurrentDomain.BaseDirectory));

Step 4

Testing

Start running my application and append “swagger” at end of the URL.

http://localhost:63246/swagger

List of all actions

Post action

Implementation notes are for developers to understand. You can enable it by using <remarks> tag as shown below.

/// <summary>
/// Create a Product
/// </summary>
/// <param name="product"></param>
/// <returns></returns>
/// <remarks>
/// Create a product into Databse
/// </remarks>

Example Value is sample input for post action.

Similar
Nov 17, 2020
RSS stands for "Really Simple Syndication". It is a web feed mechanism, which helps applications or clients get updated content from websites in a timely fashion and empower applications to get content from more than one website regularly without having...
Jan 18, 2023
Author: Jay
Aha! There is always something intimidating about Dependency Injection. I distinctly remember a couple of years ago, telling a .Net recruiter for a contract project, that,“I had no idea what DI is”He immediately stopped talking to me. It’s just one...
Dec 1, 2020
Author: Guy Levin
While there are as many proprietary authentication methods as there are systems which utilize them, they are largely variations of a few major approaches. In this post, I will go over the 4 most used in the REST APIs and...
Feb 17, 2023
Author: Juldhais Hengkyawan
A Guide to Building Scalable, Maintainable Web API using ASP .NET CoreThe term “Clean Architecture” has become increasingly popular in software development in recent years. Clean Architecture is a software design pattern that prioritizes the separation of concerns, making it...
Send message
Email
Your name
*Message


© 1999–2024 WebDynamics
1980–... Sergey Drozdov
Area of interests: .NET Framework | .NET Core | C# | ASP.NET | Windows Forms | WPF | HTML5 | CSS3 | jQuery | AJAX | Angular | React | MS SQL Server | Transact-SQL | ADO.NET | Entity Framework | IIS | OOP | OOA | OOD | WCF | WPF | MSMQ | MVC | MVP | MVVM | Design Patterns | Enterprise Architecture | Scrum | Kanban