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);
我正在从 Postman
或 cURL
调用 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.
我正在使用 CXF - Rest
服务。
@GET
@Produces({"application/xml", "application/json"})
@Path("/search/")
R findUser(@QueryParam("email") String email);
我正在从 Postman
或 cURL
调用 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.