Swagger is a simple and powerful option for defining the interface of a REST web service. Swashbuckle combined with the API Explorer and Swagger UI provides a rich discovery, documentation and playground for the API consumers. This article provides details on how to use Swagger with REST API
1. Create a new project in Web API Project Template in Visual Studio
2. Search Swagger in Nuget package manager and install the swashbuckler
After the package is installed, it will create a new file (SwaggerConfig.cs) under the APP_Start folder. This file is the swagger configuration.
3. Create the Web API service with necessary services.
4. Run the project
5. http://localhost:62862/swagger
It will lists all the Rest API Service available
We can test the service in the swagger directly.
/// <summary>
/// To get a specific customer value
/// </summary>
/// <param name="id">Input the Customer ID </param>
/// <returns>It will return the customer id,name and address</returns>
public Customer Get(int id)
{
return new Customer { Id = 1001, Address = "dfs", Name = "Test" };
}
Include the API Comments in the swagger help documentation
· Include the xml documentation in the file system of the project build folder.
Include the code in swaggerconfig.cs
private static string GetXmlCommentsPath()
{
return string.Format(@"{0}binswagger.xml", System.AppDomain.CurrentDomain.BaseDirectory);
}
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.IncludeXmlComments(GetXmlCommentsPath());
....
Customize swagger ui using the stylesheet and Javascript
· Include the custom CSS and javascript file in the project and embedded the file to project.
· Select the css and javascript goto the properties
Swagger-cus.css
.swagger-section #header {
background-color: #c3d9ec;
}
Swagger-cus.js
$(document).ready(function () {
var logo = $('#logo .logo__img');
logo[0].src = '/content/logo.png';
$('#logo .logo__title').text('API Explorer');
});
Leave a comment