مستند سازی ASP.NET Core 2x API توسط OpenAPI Swagger - قسمت دوم - شروع به مستند سازی یک API
نویسنده: وحید نصیری
تاریخ: ۱۳۹۸/۰۱/۲۸ ۱۲:۲۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
<Project Sdk="Microsoft.NET.Sdk.Web">
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc2" />
</ItemGroup>
</Project> namespace OpenAPISwaggerDoc.Web
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSwaggerGen(setupAction =>
{
setupAction.SwaggerDoc(
name: "LibraryOpenAPISpecification",
info: new Microsoft.OpenApi.Models.OpenApiInfo()
{
Title = "Library API",
Version = "1",
Description = "Through this API you can access authors and their books.",
Contact = new Microsoft.OpenApi.Models.OpenApiContact()
{
Email = "name@site.com",
Name = "DNT",
Url = new Uri("https://www.dntips.ir")
},
License = new Microsoft.OpenApi.Models.OpenApiLicense()
{
Name = "MIT License",
Url = new Uri("https://opensource.org/licenses/MIT")
}
});
});
} namespace OpenAPISwaggerDoc.Web
{
public class Startup
{
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// ...
app.UseHttpsRedirection();
app.UseSwagger();
// ...
} https://localhost:5001/swagger/LibraryOpenAPISpecification/swagger.json
[HttpGet("{authorId}")]
public async Task<ActionResult<Author>> GetAuthor(Guid authorId)
{
var authorFromRepo = await _authorsService.GetAuthorAsync(authorId);
if (authorFromRepo == null)
{
return NotFound();
}
return Ok(_mapper.Map<Author>(authorFromRepo));
} namespace OpenAPISwaggerDoc.Web
{
public class Startup
{
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// ...
app.UseHttpsRedirection();
app.UseSwagger();
app.UseSwaggerUI(setupAction =>
{
setupAction.SwaggerEndpoint(
"/swagger/LibraryOpenAPISpecification/swagger.json",
"Library API");
});
// ...
}
app.UseSwaggerUI(setupAction =>
{
setupAction.SwaggerEndpoint(
"/swagger/LibraryOpenAPISpecification/swagger.json",
"Library API");
setupAction.RoutePrefix = "";
});
<Project Sdk="Microsoft.NET.Sdk.Web">
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc2" />
</ItemGroup>
</Project> An unhandled exception has occurred while executing the request. System.IO.FileNotFoundException: Could not find file
var xmlFiles = Directory.GetFiles(AppContext.BaseDirectory, "*.xml", SearchOption.TopDirectoryOnly).ToList(); xmlFiles.ForEach(xmlFile => setupAction.IncludeXmlComments(xmlFile));
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
</ItemGroup>
</Project>