システムにサンドボックス環境を実装したいJersey @Pathに問題があります。基本的に、次のように指定された URL でサンドボックス モードを無効または有効にします。
サンドボックス サイト
取得: ../MyProject/sandbox/data
正規サイト
GET: ../マイプロジェクト/データ
プロジェクトのルート クラスに接続されたパスに正規表現を使用する方法を考えました。
@Path("/{mode:sandbox|}")
public class JerseyResource{
boolean isSandbox = false;
public JerseyResource(@PathParam("mode") String mode) {
if(mode.equals("sandbox"))
isSandbox = true;
}
@GET
@Path("data")
@Produces(MediaType.TEXT_PLAIN)
public Response data() {
if(isSandbox)
return Response.ok("Sandbox is on").build();
return Response.ok("Sandbox is off").build();
}
}
「GET: ../MyProject/sandbox/data」を試すと問題なく動作し、「Sandbox is on」が返されます。しかし、「GET: ../MyProject/data」を実行すると、見つからない 404 ページが返されます。
固定文字列を取得すると同時に、Jersey の引数としてパス url に空の文字列を使用する方法はありますか?