Java 当使用查询字符串搜索对象时,我应该使用什么Spring策略?

Java 当使用查询字符串搜索对象时,我应该使用什么Spring策略?,java,spring,rest,spring-mvc,Java,Spring,Rest,Spring Mvc,我正在尝试用Spring3.1开发一个REST服务,用户可以在其中访问信息。可以通过app/courses/1轻松访问资源,通过其id检索课程 然而,我想让搜索成为可能。模型如下: public class Course { private Long id; private String name; private Long points; private Long numberOfParticipants; } 例如,如果我想要获取一个具有name=f

我正在尝试用Spring3.1开发一个REST服务,用户可以在其中访问信息。可以通过
app/courses/1
轻松访问资源,通过其id检索课程

然而,我想让搜索成为可能。模型如下:

public class Course {

    private Long id;

    private String name;

    private Long points;

    private Long numberOfParticipants;
}
例如,如果我想要获取一个具有
name=foo
points=1337
的课程,那么相应的查询字符串如下:
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.
}

然而,这看起来非常乏味和混乱,因此我的问题是:Spring是否有一些东西可以简化这一点,这样我就不必费力地获取所有属性了?

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

}

这将把所有请求参数映射到
课程
命令对象的字段。

您不能使用注释作为参数,您也必须声明它们。已修复。我能感觉到我睡着了……去休息吧,当你醒来时,也许你会自己找到解决办法。是的,我现在就休息。:)