Spring MVCへのSpring 3のRESTfulな追加について読んだすべてのチュートリアルと記事で、@PathVariable
を介してクエリデータを渡す方法を1つしか見たことがありません。 so :
@RequestMapping(value="/shops/{name}", method=RequestMethod.GET)
public @ResponseBody Shop getShopInJSON(@PathVariable String name) {
...
}
http://www.example.com/myservlet/shops/{name}
のようなものに応答し、http://www.example.com/myservlet/shops/thebestshoparound
と評価されます。
私の質問はこれです:古典的なクエリ文字列に基づいてリクエストを受け取るRESTfulインターフェイスを設定することは可能ですか? PathVariables
の代わりにhttp://www.example.com/myservlet/shops?name=thebestshoparound
?
これは本当に簡単な質問のように思えますが、オンラインではそれを見つけることができません。
はい、注釈を使用します @RequestParam
、例は次のとおりです。
public @ResponseBody Shop getShopInJSON(@PathVariable String name, @RequestParam(value="query", required=false) String query) {
// do stuff
}