問題は、プログラムをテストする方法にあります.POSTをテストするためにブラウザウィンドウにURLを入力してGETメソッドのみを使用しています.次のようなコンテンツを含む単純なhtmlページを作成できます
<form action="http://localhost:8080/yourapp/yourEntryPoint" method="post">
<input type="text" name="data" value="mydata" />
<input type="submit" />
</form>
そしてそれをブラウザで開く
または、選択したブラウザー (google) の「REST サービス テスト」にプラグインを使用します。
Spring MVC の詳細
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/htmlsingle/#mvc-ann-requestmapping
そのコントローラーのベース URL にマップするために、メソッドに value= を配置する必要はありません
@Controller
@RequestMapping("/yourEntryPoint")
public class YourClass {
@RequestMapping(method = {RequestMethod.GET, RequestMethod.POST })
public void get() {
logger.info("Method: " + request.getMethod());
}
@RequestMapping(value="/new", method = RequestMethod.GET)
public void getNewForm() {
logger.info("NewForm" );
}
}
これにより、リクエスト POST と GET の両方が URL にマップされます
http://host:port/yourapp/yourEntryPoint
これは GET にマップされます
http://host:port/yourapp/yourEntryPoint/new