title: Multiple parameters in a web api 2 get
body: <p>I want to make a web api that is passed 4 parameters.</p>
  
  <p>Here is my route:</p>
  
  <pre><code>        config.Routes.MapHttpRoute(
              name: "DefaultApi",
              routeTemplate: "api/{controller}/{email}/{firstname}/{lastname}/{source}"
          );
  </code></pre>
  
  <p>Here is the method signature</p>
  
  <pre><code>public string GetId(string email, string firstname, string lastname, string source)
  </code></pre>
  
  <p>Here is the calling url</p>
  
  <pre><code>http://fakedomain.com/api/Contacts/GetId?email=user@domain.com&amp;firstname=joe&amp;lastname=shmoe&amp;source=123
  </code></pre>
  
  <p>I get a 404 error.</p>
  
  <p>If I set each parameter to optional in the route config, and set up each argument with a default value it gets called.  However, each argument gets the default value and not the passed value.</p>
  
  <p>I feel like I am close, what am I missing?</p>