java - 使用 Apache CXF 2.3 的 REST 服务调用参数中的分号

标签 java tomcat rest cxf jax-rs

我尝试在 REST 服务中传递包含分号(保留符号)的参数,但 Apache Tomcat 出现问题

使用 Apache CXF 2.3 编写的 REST 服务

@GET
@Path("/getCmBuildAreas/{productName}/{projectName}/{buildConfiguration}")
@Produces(MediaType.APPLICATION_JSON)
public CmBuildAreas getCmBuildAreas(@PathParam("buildConfiguration") String buildConfiguration, @PathParam("productName") String productName, @PathParam("projectName") String projectName) {
...
}

然后我运行查询 http://localhost:8080/DevManager/services/rest/getCmBuildAreas/QLARIUS/QLARIUS%3AMAINLINE_JAVA_STR/ANT_JAVA_BUILD%3B8并收到此错误:

Jul 18, 2011 1:57:53 PM org.apache.cxf.jaxrs.utils.JAXRSUtils findTargetMethod
WARNING: No operation matching request path /DevManager/services/rest/getCmBuildAreas/QLARIUS/QLARIUS%3AAMAINLINE_JAVA_STR/ANT_JAVA_BUILD%3B8 is found, HTTP Method : GET, ContentType : */*, Accept : image/jpeg,application/x-ms-application,image/gif,application/xaml+xml,image/pjpeg,application/x-ms-xbap,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*,.
Jul 18, 2011 1:57:53 PM org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse
WARNING: WebApplicationException has been caught : no cause is available

PS:如果您需要任何其他信息,请询问。

最佳答案

Apache CXF 2.3 未处理正确编码的分号的事实是由于 BUG在那个版本中。在2.4、2.3.4版本中已修复。

关于java - 使用 Apache CXF 2.3 的 REST 服务调用参数中的分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6731964/

相关文章:

java - IntelliJ 找不到驱动类

java - 从 restful java 客户端获取 JSON 输出

web-services - 在 REST 中处理添加/删除多对多关系的正确方法是什么?

java - 使用 JDO/DataNucleus 将 java.util.Properties 保留为序列化对象

Java Tapestry5动态布局

java - 部署到 Apache 7.0.54 和 java 8 时,Spring 上下文初始化失败并出现 java.lang.IllegalArgumentException

java - Servlet 映射 Tomcat 错误 Eclipse

java - 将 Tomcat 配置为更喜欢一个签名者而不是另一个签名者或者每个端点使用不同的证书?

java - 使现有 API 更加 RESTful

java - 如何阅读 Java 中的完整堆栈跟踪,例如 "... 23 more"