Как управлять строкой с пробелами, запятой и т. Д. Как PathParam?

Я создал веб-сервисы, которые должны получить строку с пробелами, запятыми, скобками и другими специальными символами. Я хотел бы передать его как PathParam, но я не смог управлять этой строкой.

Строка, которой я хочу управлять, похожа на следующую:

ПОЛИГОН ((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){
...
}

я попытался установить ".+" для параметра многоугольника, но он не работает (я также пытался использовать.*).

Если я вызываю эту услугу, метод не запускается.

1 ответ

Решение

Я решил свою проблему: я изменил PathParam "полигон" и сделал его необязательным. Затем я изменил правила регулярных выражений в многоугольник 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];
Другие вопросы по тегам