title: Feign recognized GET method as POST
body: <p>I have a service defined as follow</p>
  
  <pre><code>class Echo {
    private String message; // getters and setters omitted
  }
  
  @RequestMapping("/app")
  interface Resource {
    @RequestMapping(method = GET)
    Echo echo(@ModelAttribute Echo msg);
  }
  
  @RestController
  class ResourceImpl implements Resource {
    @Override
    Echo echo(Echo msg) { return msg; }
  }
  </code></pre>
  
  <p>and his client on a different application</p>
  
  <pre><code>@FeignClient(name = "app", url = "http://localhost:8080")
  interface Client extends Resource {}
  </code></pre>
  
  <p>However, when I call resource method</p>
  
  <pre><code>@Autowired
  private Resource client;
  
  @Test
  public void test() {
    Echo echo = new Echo();
    echo.setMessage("hello");
    client.echo(echo);
  }
  </code></pre>
  
  <p>I got a confusing error message</p>
  
  <blockquote>
    <p>feign.FeignException: status 405 reading ClientLocal#echo(Echo);
    content: {"timestamp":1512686240485,"status":405,"error":"Method Not
    Allowed","exception":"org.springframework.web.HttpRequestMethodNotSupportedException","message":"Request
    method 'POST' not supported","path":"/app"}</p>
  </blockquote>
  
  <p>What I did wrong here?</p>