Недопустимое значение геосервера для параметра строки - PullRequest
0 голосов
/ 25 июня 2018

У меня есть sql-представление для геосерверов, которое принимает ints в качестве параметра, но как только я пытаюсь использовать строку, в журналах выдается исключение «недопустимое значение для параметра id».

Этоявляется источником вызова со строкой.Самой строкой является '45012_33', которую я добавляю в заголовок в своем коде: & viewparams = id% 3A% 2245012_33% 22 * ​​1003 *

Это всегда возвращает блокировку, заблокированную в ответе на исключение перекрестного происхождения в консоли.

Для справки это код представления SQL

SELECT rivers_geom.geom, rivers_geom.src_id FROM water.rivers_geom WHERE src_id = %id%

Я пробовал использовать разные цитаты и т. Д. Может быть, это что-то связано с подчеркиванием?

1 Ответ

0 голосов
/ 27 июня 2018

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

Однако я натолкнулся на пользователя, который упомянул, что для использования строк необходимо добавить к запросу sql кавычки следующим образом:

SELECT rivers_geom.geom, rivers_geom.src_id 
FROM water.rivers_geom
WHERE src_id = '%id%'

Обратите внимание на '' вокруг параметра:

'%id%'

В конце концов мне удалось заставить это работать. Чтобы сделать вызов GET для геосервера, я добавил значение в заголовок примерно так:

viewparam=id:45012_7

Затем Geoserver добавляет цитаты, чтобы сделать его строкой.

...