如何在REST Web服务中处理多参数HTTP请求+限制数量范围

How to process HTTP request with multiple parameters in REST web service + limit the number range

我的目标是处理

 http://localhost:8080/getuser?name=Mike&numberOfWorks=2&salary=1

职位数量在 0-2 范围内,薪水 - 从 0 (none) 到 2(巨大)。 另一个要求是为年龄和薪水设置默认值。 我已经在 Java 中编写了这段代码,但是,它不能正常工作(return 的名称和两个 def 值),我没有机会调试它。

public Response getPerson( 
            @QueryParam("name") String name, 
            @DefaultValue("0") @QueryParam("{numberOfWorks: [0-2]}") int availability, 
            @DefaultValue("0") @QueryParam("{salary: [0-2]") int sort) throws NotFoundException{
        return Response.status(200).entity(name + ", " + availability + ", " + sort).build();

该方法在上述HTTP使用中的return是

Mike, 0, 0

编辑

不幸的是,@Pattern 的方法对我不可用。所以我会很感激其他选择。

注释必须提及查询参数的名称:

@QueryParam("numberOfWorks")

如果你使用JAX-RS 2.0,你可以添加

@Pattern("[0-2]")

成功

@QueryParam("numberOfWorks") @Pattern("[0-2]") int availability