2012-02-02 1 views
1

ユーザーが情報にアクセスできるSpring 3.1でRESTサービスを開発しようとしています。リソースはapp/courses/1で簡単にアクセスでき、そのIDでコースを取得できます。オブジェクトを検索するためにクエリ文字列を使用するときは、どの春の戦略を採用するべきですか?

ただし、検索することができます。こちらのモデルは次のとおりです。私はname=foopoints=1337を持ってコースを取得したい場合は、次のよう

public class Course { 

    private Long id; 

    private String name; 

    private Long points; 

    private Long numberOfParticipants; 
} 

例えば、どのような、対応するクエリ文字列は次のようになります。app/courses?name=foo&points=1337

私は一時的な解決策が出ている:

@RequestMapping(value = "courses") 
@ResponseBody 
public Course getCourse(@RequestParam(value = "name", required = false) String name, 
         @RequestParam(value ="points", required = false) Long points) { 

    // TODO 
    // Find and return course from the database. 
} 


はしかし、これは非常に面倒で厄介なようで、私の質問は、そのためです:は春は、このビットをとても簡単になり、何かを持っています私はすべての属性を難なく収穫する必要はありませんか?

+1

注釈をパラメータとして使用することはできません。注釈も宣言する必要があります。 –

+0

修正されました。私は私が眠っていると感じることができます... – whirlwin

+1

あなたが目を覚ますとき、あなたがあなたの自己によって解決策を見つけることができるかもしれません。 –

答えて

3
@RequestMapping(value = "/courses") 
@ResponseBody 
public Course getCourse(Course course) { 

} 

これはCourseコマンドオブジェクトのフィールドへのすべてのリクエストパラメータをマッピングします。

関連する問題