当前位置: 首页 > 面试题库 >

Jax-RS中的可选@PathParam

汝承载
2023-03-14
问题内容

我有一个服务,其中路径的最后一部分是可选的,用户都可以输入 / mypath // mypath / param1 /

我试图使用正则表达式来过滤路径的最后一部分:

@Path("/mypath{param1: (/param1)?}")

我使用RestEasy作为我的JAX-
RS提供程序,并且代码在Tomcat中按预期工作,但是当我在JBoss中部署它时,如果不提交可选部分,则会得到405返回代码。

我在这里做错什么了吗,还是无法通过便携式方式完成?


问题答案:

问题是冒号前缺少空格:

@Path("/mypath{param1: (/param1)?}")

应该:

@Path("/mypath{param1 : (/param1)?}")

显然这是一个错误,因为规范使冒号周围的空白成为可选的。我还发现我不是被该错误咬的人。



 类似资料:
  • JAX-RS (JSR 311) 是一个社区驱动的标准用于使用 Java 构建 RESTful Web 服务。

  • 我的jax-rs应用程序的方法: 工作正常。但是,如果修改: 我收到一个错误 服务器Jboss 7.1.1 请告诉我怎么了。 PS.sorry我的英语不好。

  • JAX-RS教程提供了JAX-RS API的概念和示例。 这个JAX-RS教程专为初学者和专业人士设计。 JAX-RS API有两个主要实现。它们分别如下 - Jersey RESTEasy 如下图示 - RESTful JAX-RS示例(Jersey) https://www.xnip.cn/web_service/jax-rs-example-jersey.html JAX-WS注释示例 ht

  • JAX-RS (JSR 311) 是一个社区驱动的标准用于使用 Java 构建 RESTful Web 服务。JAX-RS 的参考实现是 Jersey,并提供 OSGI 绑定。该项目用于连接服务层的 Jersey 和 OSGi。这意味着 OSGi 服务可发布为 RESTful Web 服务。

  • 问题内容: 我真的很困惑。我已经尝试过使用tomcat的Jax-rs并使用所有能够使用调用我的服务的注释。因此,没有Jax- rs,我可以简单地拥有一个servlet并调用我的服务。同样,正如我尝试过的那样,有jax-rs和jersey(我研究了的实现)以及web.xml中的以下内容。 然后,我在GET上具有与JAX-RS相同的注释,可以使用正确的URL调用我的服务。 我的问题是,为什么球衣使用s

  • 问题内容: 我正在使用我的Web服务。我有通用的功能,想使用继承。我正在提供简单的CRUD操作。我已经定义了这样的接口: 我有一个实现此接口的抽象类: 最后,我的实现类仅为资源提供PATH: 当我尝试访问我的资源时(假设上下文根为/): 我得到一个404,它说找不到。我的想法是,在继承的某个地方,它弄乱了我认为资源应位于的位置的路径。有什么想法吗? 编辑 webresources在下面定义。该类由