【发布时间】:2019-12-15 01:23:29
【问题描述】:
我有一个使用 Java 和 Jersey 实现的 RESTful 资源。
允许有以下任意一种查询参数组合
- queryParam1 或
- queryParam2 或
- queryParam3 & queryParam4
我目前实现如下:
@GET
@Path("/my-resource")
public MyResource findMyResource(
@QueryParam("param1") String param1,
@QueryParam("param2") String param2,
@QueryParam("param3") String param3,
@QueryParam("param4") String param4) {
if (param1 != null && (param2 == null && param3 == null && param4 == null)) {
...
} else if (param2 != null && (param1 == null && param3 == null && param4 == null)) {
...
} else if (param3 != null && param4 != null && (param1 == null && param1 == null)) {
...
} else {
// return 400 BAD REQUEST
}
...
}
这看起来真的很难看。有没有办法以更清洁的方式实现这一目标?
【问题讨论】:
标签: java rest jersey jax-rs query-parameters