Skip to content

RapiDoc Custom Element for Open-API spec viewing +asp.net core

License

Notifications You must be signed in to change notification settings

Deali-Axy/CodeLab.AspNetCore.RapiDoc

 
 

Repository files navigation

MrinDoc logo IGeekFan.AspNetCore.RapiDoc

RapiDoc Custom Element for Open-API spec viewing ,Support .NET Core3.1 、.NET Standard2.0、.NET5.0。

nuget stats GitHub license

English | 中文

An API document that implements swagger 2.0 and OpenAPI 3.0. I integrate it into aspnetcore。

Features

  • Supports Swagger 2.0 and OpenAPI 3.0
  • Works with any framework or with no framework
  • Allows making API calls. And More....
  • For more features, please refer to RapiDoc README

Dependencies

  • Swashbuckle.AspNetCore.Swagger
  • Swashbuckle.AspNetCore.SwaggerGen

Demo

📚 QuickStart

🚀 Install Package

use Swashbuckle.AspNetCore.Swagger Components

1.Install the standard Nuget package into your ASP.NET Core application.

Package Manager : 

Install-Package Swashbuckle.AspNetCore.Swagger
Install-Package Swashbuckle.AspNetCore.SwaggerGen
Install-Package IGeekFan.AspNetCore.RapiDoc

OR

CLI :

dotnet add package Swashbuckle.AspNetCore.Swagger
dotnet add package Swashbuckle.AspNetCore.SwaggerGen
dotnet add package IGeekFan.AspNetCore.RapiDoc

2.In the ConfigureServices method of Startup.cs, register the Swagger generator, defining one or more Swagger documents.

using Microsoft.AspNetCore.Mvc.Controllers
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using IGeekFan.AspNetCore.RapiDoc;

🚁 ConfigureServices

3.Services Configure

   services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1",new OpenApiInfo{Title = "API V1",Version = "v1"});
        var filePath = Path.Combine(System.AppContext.BaseDirectory $"{typeof(Startup).Assembly.GetName().Name}.xml");
        c.IncludeXmlComments(filePath, true);
    });

💪 Configure

  1. Middleware Configure
app.UseSwagger();

app.UseRapiDocUI(c =>
{
    c.RoutePrefix = ""; // serve the UI at root
    c.SwaggerEndpoint("/v1/api-docs", "V1 Docs");
});

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllers();
    endpoints.MapSwagger("{documentName}/api-docs");
});

🔎 Views

Run Project,Open WebSite https://localhost:5001/index.html#/home

docs/images/view.png

5.More Configure

To add comments to a document, right-click on the project - properties - generate

In AddSwaggerGen Methods You should add this methond

c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, "SwaggerDemo.xml"),true);

The last parameter is set to true to enable comments on the controller

NSwag.AspNetCore

Another way

Please refer to the table of contents test/WebSites/NSwag.Swagger.RapiDoc

Package Manager : 

Install-Package IGeekFan.AspNetCore.RapiDoc

OR

CLI :

dotnet add package NSwag.AspNetCore
public void ConfigureServices(IServiceCollection services)
 {
    // 其它Service
     services.AddOpenApiDocument();
 }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
        // 其它 Use
      app.UseOpenApi();
      app.UseRapiDocUI(c =>
     {
           c.RoutePrefix = "";
           c.SwaggerEndpoint("/swagger/v1/swagger.json");
      });
}

Every Things is Ok. Now, You can visist RapiDoc

More Configure

About

RapiDoc Custom Element for Open-API spec viewing +asp.net core

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 96.0%
  • HTML 4.0%