title: Why restTemplate.put() throws "HttpClientErrorException: 404 Not Found"
body: <p>I make a put request</p>
  
  <pre><code>RestTemplate restTemplate = new RestTemplate();
  restTemplate.put(new URI("http://localhost:8080/test"), dto);
  </code></pre>
  
  <p>which successfully hits the rest endpoint</p>
  
  <pre><code>@RequestMapping(value = "/test", method=RequestMethod.PUT)
  public void test123(@RequestBody DTO dto) {
      System.out.println("phone:"+dto.getPhone()); 
  }
  </code></pre>
  
  <p>but the "put" method on the client throws exception, even though the server is hit successfully and I don't 
  expect return value.</p>
  
  <pre><code>Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 404 Not Found
      at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
      at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:589)
      at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:547)
      at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:518)
      at org.springframework.web.client.RestTemplate.put(RestTemplate.java:394)
      at com.my.Main.main(Main.java:45)
  </code></pre>