title: call two different rest methods with same URI
body: <p>I have two Rest URIs : </p>
  
  <pre><code>// URI n1 :  GET /users/{userName}  
  public ResponseEntity&lt;userDto&gt; findUserByName(
          @PathVariable( value = "userName", required = true) 
          String userName
          );
  
  // URI n2 :  GET /users/{userID}  
  public ResponseEntity&lt;userDto&gt; findUserByID(
          @PathVariable( value = "userID", required = true) 
          Long userID
          );
  </code></pre>
  
  <p>When I call <code>GET /users/SuperUser123</code> I want the first function to respond and when I call <code>GET /users/1854</code>  I want the second one respond. What really happens is that the first function is always called for both cases (as the param is always of type String).</p>
  
  <p>So how can I achieve what I want while respecting REST API URI recommendations ?  </p>