sil*_*der 5 java jax-rs jersey
我需要将带有多个可选参数的路径映射到我的端点
路径看起来像localhost/func1/1/2/3或localhost/func1/1或localhost/func1/1/2该路径应正确匹配
public Double func1(int p1, int p2, int p3){
...
}
我的注释应该用什么?
使用Jersey找到使用多个可选参数的方法,而不是学习REST设计是测试任务.
要解决此问题,您需要使params可选,但也需要/签名可选
在最终结果中,它看起来与此类似:
@Path("func1/{first: ((\+|-)?\d+)?}{n:/?}{second:((\+|-)?\d+)?}{p:/?}{third:((\+|-)?\d+)?}")
public String func1(@PathParam("first") int first, @PathParam("second") int second, @PathParam("third") int third) {
...
}
Run Code Online (Sandbox Code Playgroud)
您应该尝试使用QueryParams:
@GET
@Path("/func1")
public Double func1(@QueryParam("p1") Integer p1,
@QueryParam("p2") Integer p2,
@QueryParam("p3") Integer p3) {
...
}
Run Code Online (Sandbox Code Playgroud)
请求如下:
localhost/func1?p1=1&p2=2&p3=3
Run Code Online (Sandbox Code Playgroud)
这里所有参数都是可选的.在路径部分内,这是不可能的.服务器无法区分例如:
func1/p1/p3 和 func1/p2/p3
以下是QueryParam用法的一些示例:http://www.mkyong.com/webservices/jax-rs/jax-rs-queryparam-example/.
| 归档时间: |
|
| 查看次数: |
4752 次 |
| 最近记录: |