パラメータとしてintを受け入れるジオサーバーのSQLビューがありますが、文字列を使用しようとするとすぐに、ログに例外「パラメータIDの無効な値」がスローされます。
これは、文字列を使用した呼び出しのソースです。文字列自体は「45012_33」であり、コードのヘッダーに追加します:&viewparams = id%3A%2245012_33%22
これは常に、コンソールでクロスオリジン応答例外をブロックしたコーブを返します。
参考までに、これはSQLビューコードです
SELECT rivers_geom.geom, rivers_geom.src_id FROM water.rivers_geom WHERE src_id = %id%
別の引用符などを使用してみました。アンダースコアと関係があるのでしょうか。
答えを見つけるために数日検索した後、代わりに整数のリストを使用することになり、パラメーターに別の値を使用することにしました。
ただし、文字列を使用するには、次のようにSQLクエリに引用符を追加する必要があると述べたユーザーに出くわしました。
SELECT rivers_geom.geom, rivers_geom.src_id
FROM water.rivers_geom
WHERE src_id = '%id%'
パラメータの周りの ''に注意してください。
'%id%'
最終的にこれを機能させることができました。ジオサーバーへのGET呼び出しを行うために、次のようにヘッダーに値を追加しました。
viewparam=id:45012_7
次に、Geoserverは引用符を追加して、文字列にします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加