如何在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
我的目标是处理
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