如何将带有空格、逗号等的字符串作为 PathParam 进行管理?
How to manage string with blanks, comma etc. as PathParam?
我创建了一个网络服务,需要获取一个包含空格、逗号、括号和其他特殊字符的字符串。我想将它作为 PathParam 传递,但我无法管理这个字符串。
我要管理的字符串类似如下:
POLYGON((9.5 44.6, 12.5 44.6, 12.5 42.0, 9.5 42.0, 9.5 44.6))
我的方法是:
@POST
@Path("/j_update_spi/{step}/{srid}/{polygon:.+}")
public Response updateSPI(@PathParam("step") String step,
@PathParam("srid") String srid,
@PathParam("polygon") String polygon){
...
}
我尝试为多边形参数设置“.+”,但它不起作用(我也尝试使用 .*)。
如果我调用此服务,方法不会启动。
我解决了我的问题:我更改了 PathParam "polygon" 并将其设为可选。然后我将正则表达式规则更改为多边形 PathParam.
@POST
@Path("/update_spi/{step}/{srid}{polygon:(/polygon/.+?)?}")
public Response updateSPI(@PathParam("step") String step,
@PathParam("srid") String srid,
@PathParam("polygon") String polygon)
为了提取定义我的 WKT 多边形的字符串,我使用了 split 方法:
if(!polygon.matches(""))
polygon = polygon.split("/")[2];
我创建了一个网络服务,需要获取一个包含空格、逗号、括号和其他特殊字符的字符串。我想将它作为 PathParam 传递,但我无法管理这个字符串。
我要管理的字符串类似如下:
POLYGON((9.5 44.6, 12.5 44.6, 12.5 42.0, 9.5 42.0, 9.5 44.6))
我的方法是:
@POST
@Path("/j_update_spi/{step}/{srid}/{polygon:.+}")
public Response updateSPI(@PathParam("step") String step,
@PathParam("srid") String srid,
@PathParam("polygon") String polygon){
...
}
我尝试为多边形参数设置“.+”,但它不起作用(我也尝试使用 .*)。
如果我调用此服务,方法不会启动。
我解决了我的问题:我更改了 PathParam "polygon" 并将其设为可选。然后我将正则表达式规则更改为多边形 PathParam.
@POST
@Path("/update_spi/{step}/{srid}{polygon:(/polygon/.+?)?}")
public Response updateSPI(@PathParam("step") String step,
@PathParam("srid") String srid,
@PathParam("polygon") String polygon)
为了提取定义我的 WKT 多边形的字符串,我使用了 split 方法:
if(!polygon.matches(""))
polygon = polygon.split("/")[2];