Geoserver字符串参数的值无效

时间:2018-06-25 11:40:42

标签: javascript geoserver

我在geoserver上有一个sql视图,该视图接受ints作为参数,但是一旦我尝试使用字符串,它就会在日志中抛出异常“参数id的无效值”。

这是带有字符串的调用源。字符串本身是“ 45012_33”,我将其添加到代码中的标头中: &viewparams = id%3A%2245012_33%22

这总是返回在控制台中阻止跨域响应异常的corb。

作为参考,这是SQL View代码

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

我尝试使用不同的引号等。可能与下划线有关吗?

1 个答案:

答案 0 :(得分:0)

搜索几天后找到答案后,我最终使用了一个整数列表,并决定对该参数使用其他值。

但是我确实遇到了一个用户,他提到要使用字符串,您必须像这样在sql查询中添加引号:

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

注意参数周围的''

'%id%'

我设法使它最终起作用。为了对geoserver进行GET调用,我将值添加到标题中,就像这样

viewparam=id:45012_7

Geoserver然后将引号添加为字符串。