Comment ajouter description API à Swashbuckle?

Je suis nouveau à B. Swashbuckl ou Swagger, Mais j'ai créé Web API, qui nécessite la création de documentation en utilisant Swagger De mon client. J'ai déjà créé, mais ils ont besoin des détails de la version API ont été montrés dans Swageer UI, Ce que je ne suis pas très sûr, comment réaliser.

Voici mon code:


public class SwaggerConfig
{
public static void Register//
{
var thisAssembly = typeof/SwaggerConfig/.Assembly;

GlobalConfiguration.Configuration
.EnableSwagger/c =>
{
c.SingleApiVersion/"v1", "Demo Api"/;
c.IncludeXmlComments/string.Format/@"{0}\bin\WebApi.XML",
System.AppDomain.CurrentDomain.BaseDirectory//;
}/
.EnableSwaggerUi//;

}
}


Exemple de contrôleur:


/// <summary>
/// Get the Next IdKey
/// </summary>
/// <remarks>Get the Next IdKey from Dettagli Table</remarks>
/// <response code="404">Not found</response>
/// <response code="500">Internal Server Error</response>
[HttpGet]
public int GetNextIdDettagli//
{
try
{
DettagliRepo repo = new DettagliRepo//;
return repo.GetNextIdDettagli//;
}
catch /Exception ex/
{
throw /ex/;
}
}


C'est ainsi que toutes les actions du contrôleur ont été faites.

Voici le résultat de la mienne Swagger UI:

https://i.stack.imgur.com/q5Cfx.jpg
Ce résultat attendu de mon client marqué 1,2 et 3:

https://i.stack.imgur.com/b5x9O.png
Je peux comprendre l'écran montré qu'ils veulent montrer API Description, nom et autres informations, mais je ne sais pas comment leur montrer. Aidez-moi s'il vous plaît ou vous proposez comment atteindre cette partie. Merci d'avance.

Mettre à jour

j'ai atteint 1 et 2 par
https://github.com/domaindrive ... ntent
Avec le code suivant:


.EnableSwagger/c =>
{
c.RootUrl/req => GetRootUrlFromAppConfig///;

c.Schemes/new[] { "http", "https" }/;

c.SingleApiVersion/"v1", "Swashbuckle.Dummy"/
.Description/"A sample API for testing and prototyping Swashbuckle features"/
.TermsOfService/"Some terms"/
.Contact/cc => cc
.Name/"Some contact"/
.Url/"[url=http://tempuri.org/contact"/]http://tempuri.org/contact"/[/url]
.Email/"some.contact@tempuri.org"//
.License/lc => lc
.Name/"Some License"/
.Url/"[url=http://tempuri.org/license"//;]http://tempuri.org/license"//;[/url]
}/;


Mais j'ai encore besoin d'aide sur l'article 3. Merci.
Invité:

Gabriel

Confirmation de:

En fait, vous pouvez créer un filtre de document et mettre à jour le noeud de balises dans le document. swagger En utilisant le filtre de document.

Voir exemple Exemple de filtre de document ci-dessous:


public class DocumentFilter : IDocumentFilter
{
/// <summary>
/// This method is for applying the filter
/// </summary>
/// <param name="swaggerDoc"/>Swagger Document
/// <param name="schemaRegistry"/>Schema Registry
/// <param name="apiExplorer"/>API Explorer
public void Apply/SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer/
{
var methods = swaggerDoc.paths.Select/i => i.Value/;
List<string> tags = new List<string>//;
foreach /var method in methods/
{
if /method.delete != null/
{
tags.AddRange/method.delete.tags/;
}

if /method.get != null/
{
tags.AddRange/method.get.tags/;
}

if /method.put != null/
{
tags.AddRange/method.put.tags/;
}

if /method.post != null/
{
tags.AddRange/method.post.tags/;
}

if /method.patch != null/
{
tags.AddRange/method.patch.tags/;
}
}

swaggerDoc.tags = new List<tag>//;
foreach /var tag in tags/
{
swaggerDoc.tags.Add/new Tag// { name = tag, description = "This is a group of methods for " + tag }/;
}
}
}


</tag></string></string>

Pour répondre aux questions, connectez-vous ou registre