title: Common ApiController Base Class with Swagger
body: <p>So i implemented my first REST API application and everything is working fine, including Swagger (I used Swashbuckle and can test my APIs)</p>
  
  <p>In the documentation I read, "...Controller must extend from <code>ApiController</code>...". I get that. However, how literally should I take that statement? What I wanted to do is avoid replication of code in each of my <code>ApiController</code> extensions. For instance I have two controllers - <code>ProductController</code> and <code>DeviceController</code> - both of which extend <code>ApiController</code>. I created class <code>BaseController</code> extending <code>ApiController</code>. Then I changed base class for both Product Controller and Device Controller to Base Controller</p>
  
  <pre><code>public class BaseController : ApiController
  {
  }
  
  public class ProductController : BaseController // ApiController
  {
  }
  
  public class DeviceController : BaseController // ApiController
  {
  }
  </code></pre>
  
  <p>1) Swagger application has error as soon as I hit the /swagger URL. 
  2) I really don't want my <code>BaseController</code> to even serve any requests. All I want is to have common helper methods I can use in all of my controllers such as <code>ProductController</code> and <code>DeviceController</code>.</p>
  
  <p>Any advice appreciated.</p>