Hinzufügen von Abfragezeichenfolgenparametern zu meinen Swagger-Spezifikationen

Ich verwende Swashbuckle (Swagger für C #) mit meiner Web-API. Ich habe mehrere GET-Endpunkte, die Listen zurückgeben, und ich erlaube dem Benutzer, eine Perpage und Seitenparameter zum QueryString @ hinzuzufüge

Beispiel:http: //myapi.com/endpoint/? page = 5 & perpage = 10

Ich sehe, dass swagger Parameter in 'query' unterstützt, aber wie kann ich Swashbuckle dazu bringen?

Ich erwähne in einem der Kommentare, dass ich mein Problem gelöst habe, indem ich ein benutzerdefiniertes Attribut erstellt habe, damit ich tun kann, was ich brauchte. Unten ist der Code für meine Lösung:

[AttributeUsage(AttributeTargets.Method, Inherited = false, AllowMultiple = true)]
public class SwaggerParameterAttribute : Attribute
{
    public SwaggerParameterAttribute(string name, string description)
    {
        Name = name;
        Description = description;
    }

    public string Name { get; private set; }
    public Type DataType { get; set; }
    public string ParameterType { get; set; }
    public string Description { get; private set; }
    public bool Required { get; set; } = false;
}

Registrieren Sie das Attribut mit der Swagger-Konfiguration:

GlobalConfiguration.Configuration 
    .EnableSwagger(c =>
        {
            c.OperationFilter<SwaggerParametersAttributeHandler>();
        });

Fügen Sie dann Ihren Methoden dieses Attribut hinzu:

[SwaggerParameter("page", "Page number to display", DataType = typeof(Int32), ParameterType = ParameterType.inQuery)]
[SwaggerParameter("perpage","Items to display per page", DataType = typeof(Int32), ParameterType = ParameterType.inQuery)]

Antworten auf die Frage(6)

Ihre Antwort auf die Frage