我创建了一个Web服务,需要获取带有空格,逗号,括号和其他特殊字符的字符串。我希望将其作为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){
...
}
我试图设置"。+"对于polygon参数,但它不起作用(我也尝试使用。*)。
如果我打电话给这项服务,方法就不会开始。
答案 0 :(得分:0)
我解决了我的问题:我更改了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 Polygon的字符串,我使用了 split 方法:
if(!polygon.matches(""))
polygon = polygon.split("/")[2];