如何用空白,逗号等管理字符串作为路径



我创建了一个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){
...
}

我尝试设置"。

如果我称此服务该方法未启动。

我解决了我的问题:我更改了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];

最新更新