Spring MVC の REST フレームワークは、PathVariables ではなくクエリ文字列を受け入れることができますか? 質問する

Spring MVC の REST フレームワークは、PathVariables ではなくクエリ文字列を受け入れることができますか? 質問する

Spring 3のRESTfulなSpring MVCへの追加に関するチュートリアルや記事をすべて読んできましたが、クエリデータを渡す方法は、@PathVariableそのようです:

@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

http://www.example.com/myservlet/shops?name=thebestshoparound私の質問は次のとおりです:の代わりになどの従来のクエリ文字列に基づいてリクエストを受け取る RESTful インターフェイスを設定することは可能ですかPathVariables?

これは本当に簡単な質問のように思えますが、オンラインではどこにも見つかりません。

ベストアンサー1

はい、注釈を使用してください@RequestParam以下に例を示します。

public @ResponseBody Shop getShopInJSON(@PathVariable String name, @RequestParam(value="query", required=false) String query) {
    // do stuff
}

おすすめ記事