問題タブ [payara-micro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - スペースを含む JAX-RS および RegEx @Path
here で説明されているように、エンコードされている場合は URI 内のスペースを使用できます。
JAX-RS (Jersey on Payara) は、パスの正規表現パターンで定義されたスペースを許可していないようです。
上記の正規表現は、encodedABC%20XYZ
と一致するはずですが、一致しません。
リクエスト:
内部的に、Payara は 404 をスローします。
(スペース) を削除%20
すると成功します。
JAX-RS Spec 2.1 Finalの sectionでは3.3.2 Parameters
、URI のデコードを明示的に無効にする必要があると記載されています。
セクション 3.4 では、パスにスペースを使用する例を示しています。
疑問に思っているのですが、正規表現パターンのスペースは同じように扱われますか? ジャージーの実装は間違っていますか、それともここで何か間違っていますか?
考えられる問題 (2008 年に報告、解決せずに 2009 年に終了): https://github.com/eclipse-ee4j/jersey/issues/446