【问题标题】:Jax RS path param not working for accented charactersJax RS 路径参数不适用于重音字符
【发布时间】:2016-02-23 06:45:42
【问题描述】:

你好我有一个jar rs方法如下

@GET
    @Path("/versioning/{subjectid}")
    @Produces("application/json")

其中 subjectid 是路径参数

当我使用以下请求调用服务时

/V6.0/xyz/versioning/001033918IN73804CáritaSTG

apache CXF会自动改成这个

/V6.0/xyz/versioning/001033918IN73804C%C3%A1ritaSTG 

我假设 CXF 默认编码路径参数

但是我得到以下错误

2016-02-22 16:29:49,177 WARNING 

[org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor] (http-127.0.0.1-8092-1) No root resource matching request path 

有没有办法解决这个问题?

【问题讨论】:

标签: java apache rest jax-rs cxf


【解决方案1】:

此更改不是由 CXF 进行的,而是由 HTTP 客户端进行的。它将á 编码为%C3%A1

CXF 警告

No root resource matching request path

这不是编码问题,而是正确使用@Path 注释的问题。检查是否确实存在与您请求的 URL 匹配的方法。

【讨论】:

  • 如果我有正常的路径参数,(一个没有重音字符)它似乎工作正常。请帮忙
  • 有人可以帮忙
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 2011-06-14
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-27
相关资源
最近更新 更多