title: Spring Boot : Request method 'POST' not supported
body: <p>I am staring working on spring boot and trying a simple Rest Controller.
  I have two methods using HTTP GET and they work fine. 
  However when I do a HTTP POST it is not working showing :
  : Request method 'POST' not supported</p>
  
  <p>My Controller code as below:-</p>
  
  <pre><code>enter code here
  
  package com.example.web.api;
  import java.math.BigInteger;
  import java.util.Collection;
  import java.util.HashMap;
  import java.util.Map;
  
  import org.springframework.http.HttpStatus;
  import org.springframework.http.MediaType;
  import org.springframework.http.ResponseEntity;
  import org.springframework.web.bind.annotation.PathVariable;
  import org.springframework.web.bind.annotation.RequestBody;
  import org.springframework.web.bind.annotation.RequestMapping;
  import org.springframework.web.bind.annotation.RequestMethod;
  import org.springframework.web.bind.annotation.RestController;
  
  import com.example.model.Greeting;
  @RestController
  public class GreetingController {
  
      private static BigInteger nextId;
      private static Map&lt;BigInteger, Greeting&gt; greetingMap;
  
      private static Greeting save(Greeting greeting){
          if (greetingMap==null){
              greetingMap = new HashMap&lt;BigInteger, Greeting&gt;();
              nextId = BigInteger.ONE;
          }
          greeting.setId(nextId);
          nextId=nextId.add(BigInteger.ONE);
          greetingMap.put(greeting.getId(), greeting);
          return greeting;
      }
  
      static {
          // First Greeting
          Greeting g1 = new Greeting();
          g1.setText("Hello World!!");
          save(g1);
          // Second Greeting
          Greeting g2 = new Greeting();
          g2.setText("Hola Mundo!!");
          save(g2);
  
      }
  
      /*  
       * 
       * Issue a GET to view greetings
       * 
       */
      @RequestMapping(
              value="/api/greetings",
              method=RequestMethod.GET,
              produces=MediaType.APPLICATION_JSON_VALUE
              )
      public ResponseEntity&lt;Collection&lt;Greeting&gt;&gt; getGreetings(){
  
          Collection&lt;Greeting&gt; greetings=greetingMap.values();
          return new ResponseEntity&lt;Collection&lt;Greeting&gt;&gt;(greetings, HttpStatus.OK);
  
      }
  
      /*  
       * 
       * Issue a GET to view single greeting by id value
       * 
       */
  
      @RequestMapping(
              value="/api/greetings/{id}",
              method=RequestMethod.GET,
              produces=MediaType.APPLICATION_JSON_VALUE
              )
      public ResponseEntity&lt;Greeting&gt; getGreeting(@PathVariable("id") BigInteger id){
  
  
          Greeting greeting = greetingMap.get(id);
          if(greeting == null){
  
              return new ResponseEntity&lt;Greeting&gt;(HttpStatus.NOT_FOUND);
          }
  
          return new ResponseEntity &lt;Greeting&gt; (greeting, HttpStatus.OK);
  
              }
  
      /*  
       * 
       * Create a POST to add a greeting
       * 
       */
  
      @RequestMapping(
              value="/api/greetings/",
              method=RequestMethod.POST,
              consumes=MediaType.APPLICATION_JSON_VALUE,
              produces=MediaType.APPLICATION_JSON_VALUE
              )
      public ResponseEntity&lt;Greeting&gt; createGreeting(@RequestBody Greeting greeting){
  
  
  
      Greeting savedGreeting = save(greeting);
      return new ResponseEntity &lt;Greeting&gt; (savedGreeting, HttpStatus.CREATED);
      }
  
  
      /* End of HTTP Methods */
  
  }
  </code></pre>
  
  <hr>
  
  <hr>
  
  <p>Kindly advise , what is wrong with createGreeting Method.</p>
  
  <p>Kind regards </p>