title: Adding Query String Params to my Swagger Specs
body: <p>I am using Swashbuckle (swagger for C#) with my Web API.  I have several GET End-Points that return lists and I allow the user to add a perpage and page params into the QueryString</p>
  
  <p>Example: <a href="http://myapi.com/endpoint/?page=5&amp;perpage=10" rel="noreferrer">http://myapi.com/endpoint/?page=5&amp;perpage=10</a></p>
  
  <p>I see that swagger does support parameter in 'query' but how do I get Swashbuckle to do it?</p>
  
  <hr>
  
  <p>I mention in one of the comments that I solved my issue by creating a custom attribute to allow me to do what I needed.  Below is the code for my solution:</p>
  
  <pre><code>[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;
  }
  </code></pre>
  
  <p>Register the Attribute with the Swagger Config:</p>
  
  <pre><code>GlobalConfiguration.Configuration 
      .EnableSwagger(c =&gt;
          {
              c.OperationFilter&lt;SwaggerParametersAttributeHandler&gt;();
          });
  </code></pre>
  
  <p>Then add this attribute to your methods:</p>
  
  <pre><code>[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)]
  </code></pre>