I have a small project in .NET 6 that contains minimal APIs like that one
app.MapGet("/clients",
async (IClientRepository repo) =>
{
var results = await repo.GetClientsAsync();
return mapper.Map<IEnumerable<ClientModel>>(results);
});
In the SwaggerUI I can use this API but I can't find a way to add description to it (although in the project settings I check for creating an API XML documentation).

How can I add the XML comment?
Currently support for Open API docs for minimal APIs is quite minimal and does not allow adding descriptions/summaries as far as I can see. There is a feature planned for .NET 7 to add descriptions. Also soon Swashbuckle should consider EndpointMetadata for annotations.
Also related issue.
UPDATE
With latest updates to Swashbuckle nuget packages and Swashbuckle.AspNetCore.Annotations you can add description to the endpoints:
builder.Services.AddSwaggerGen(opts => opts.EnableAnnotations());
app.MapGet("/weatherforecast", () =>
{
// Implementation
})
.WithMetadata(new SwaggerOperationAttribute(summary: "Summary", description: "Descritption Test"));
// Or
app.MapGet("/weatherforecast1", [SwaggerOperation(summary: "Summary1", description: "Descritption Test1")] () =>
{
// Implementation
});
UPDATE 2
For .NET 7 and latest Swashbuckle.AspNetCore package WithDescription method also can be used:
builder.Services.AddSwaggerGen();
...
app.MapGet("/weatherforecast", () =>
{
// implementation
})
.WithDescription("Some Method Description")
.WithOpenApi();
Or with EndpointDescriptionAttribute:
app.MapGet("/weatherforecast1", [EndpointDescription("Some Attribute description")] () =>
{
// implementation
})
.WithOpenApi();
package Swashbuckle.AspNetCore.Annotations 6.3
...
builder.Services.AddSwaggerGen(c => c.EnableAnnotations());
var app = builder.build();
app.MapGet("/clients",
[SwaggerOperation(
Summary = "returns clients",
Description = "more description on get `clients`")]
[SwaggerResponse(200, "success")]
[SwaggerResponse(500, "some failure")]
async (IClientRepository repo) =>
{
var results = await repo.GetClientsAsync();
return mapper.Map<IEnumerable<ClientModel>>(results);
}).WithTags("Clients");
more examples here https://github.com/domaindrivendev/Swashbuckle.AspNetCore#enrich-operation-metadata
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With