我在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%
我尝试使用不同的引号等。可能与下划线有关吗?
答案 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然后将引号添加为字符串。