我在Jersey @Path上遇到问题,希望在其中为我的系统实现沙箱环境。基本上通过如下所示的给定URL禁用或启用沙盒模式:
沙盒网站 GET:../ MyProject / sandbox / data 常规网站 GET:../ MyProject / data 我虽然有一种方法可以使用正则表达式对连接到项目根类的Path进行使用。
GET:../ MyProject / sandbox / data
GET:../ MyProject / data
@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 on”。但是,当我执行“ GET:../ MyProject / data”时,它只是返回了一个未找到的404页面。
在这里,有没有办法使用空字符串作为URL路径作为Jersey中的参数,同时采用固定字符串呢?