Apache CXF - Rest URL 参数编码

Apache CXF - Rest URL Parameters encoding

我正在使用 CXF - Rest 服务。

@GET
@Produces({"application/xml", "application/json"})
@Path("/search/")
R findUser(@QueryParam("email") String email);

我正在从 PostmancURL 调用 GET 调用,类似这样

http://localhost:8080/rest-service/search/?email=test+1@gmail.com

但是当我调试 email 字段时,我得到的数据字段是 test 1@gmail.com。我猜某处 URL 正在解码,因此 + 正在消失?如何将 CXF/service 配置为 not to alter URL 参数

在您的方法中添加 @Encoded 注释,这将禁用参数的自动解码。参见 here

Disables automatic decoding of parameter values bound using QueryParam, PathParam, FormParam or MatrixParam. Using this annotation on a method will disable decoding for all parameters. Using this annotation on a class will disable decoding for all parameters of all methods.