我的目的是要处理

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


工作数量范围是0-2,薪水-从0(无)到2(巨大)。
另一个要求是设置年龄和工资的默认值。
我已经用Java编写了这段代码,但是,它不能正常工作(返回名称和两个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时此方法的返回为

Mike, 0, 0


编辑

不幸的是,@ Pattern的方法对我不可用。因此,我将不胜感激。

最佳答案

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

@QueryParam("numberOfWorks")


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

@Pattern("[0-2]")


进行中

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

10-08 01:23