مستندسازی خودکار API ها در برنامههای مبتنی بر ASP.NET Core بوسیلهی Swagger
نویسنده: حامد شیربندی
تاریخ: ۱۳۹۷/۰۶/۲۹ ۲۱:۵۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
pm> Install-Package Swashbuckle.AspNetCore
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Swagger;
namespace MyProject.Web.Api
{
public class Startup
{
public IServiceProvider ConfigureServices(IServiceCollection services)
{
// Register the Swagger generator, defining one or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "MyProject API Documentation", Version = "v1" });
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceScopeFactory serviceScopeFactory)
{
// Enable middleware to serve generated Swagger as a JSON endpoint.
app.UseSwagger();
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
}
}
} http://localhost:port/swagger
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Version = "v1",
Title = "My API",
Description = "My Web API",
TermsOfService = "None",
Contact = new Contact
{
Name = "Mohammad Ahmadi",
Email = string.Empty,
Url = "https://www.dntips.ir"
},
License = new License
{
Name = "Use under LICX",
Url = "https://example.com/license"
}
});
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
}); <PropertyGroup> <GenerateDocumentationFile>true</GenerateDocumentationFile> </PropertyGroup>
<PropertyGroup> <GenerateDocumentationFile>true</GenerateDocumentationFile> <NoWarn>$(NoWarn);1591</NoWarn> </PropertyGroup>
c.SwaggerDoc("v1", new Info { Title = "MyProject API Documentation", Version = "v1" }); c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo{ Title = "MyProject API Documentation", Version = "v1" });